
数据结构学习笔记
孤远无梦
efgfyvhjjffcvbj
展开
-
用栈实现括号匹配(代码)
#include<iostream> #include<string> using namespace std; class LinkNode { public: LinkNode(const char v = '\0', LinkNode* p = NULL) { value = v; next = p; } char value; LinkNode* next; }; class LinkStack { public: LinkStack(); ~Li.原创 2021-01-07 11:09:59 · 410 阅读 · 0 评论 -
用栈实现十进制数字转化其他进制数字(2-8)
#include<iostream> using namespace std; const int max = 100; class Stack { public: Stack() { top = -1; a = new int[max]; } ~Stack() { delete []a; } void clear() { top = -1; } bool push(int x) { if (top == max - 1) { cout &l原创 2021-01-01 08:59:27 · 607 阅读 · 0 评论 -
双链表改造
要求:设双链表表示的线性表L=(a1,a2…an),试写一段时间复杂度为O(n)的算法,将L改造为L=(a1,a3,…an,…a4,a2)。 //第7题 #include<iostream> using namespace std; struct Node { Node(int x) { value = x; before = NULL; next = NULL; } int value; Node* before; Node* next; }; void Chang原创 2020-12-27 09:52:28 · 496 阅读 · 2 评论 -
链表合并
要求:设ha和hb分别是两个带头结点的非递减有序单链表的表头指针,试设计一个算法,将这两个有序链表合并成一个非递减有序的单链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的存储空间。表中允许有重复的数据。 //第6题 #include <iostream> using namespace std; const int MinNumber = -1000000; struct Node { Node(int x) { value = x; next = NULL; }原创 2020-12-27 09:45:58 · 930 阅读 · 0 评论