数据结构
qq_51741751
在思维的迷宫里,有的人凭天生的灵感直奔终点有的人以持久的勤勉,锻造出适合自己的罗盘
展开
-
单链表完全反转-有头节点版本
第一种,利用头插法,反向进行。该方法首先将头节点置为空,作为新链表的开端,而将后续节点不断地插入到头节点中,采用头插法,这与建立链表的头插法方法相同。 template<class T> void LinkList<T>::reverse() { Node <T>* p, * q; p = first->next; if (!p) throw "空链表!"; else { first->next = NULL; while (p) { q原创 2022-03-17 16:40:06 · 535 阅读 · 0 评论 -
归并排序-小周的算法笔记
归并排序的核心是二分 #include<iostream> using namespace std; void Merge(int arr[], int low, int mid, int high) { int i = low, j = mid + 1, k = 0; int* temp = new(nothrow) int[high - low + 1]; if (!temp) { cout << "error" << endl; return; }原创 2022-02-13 10:42:58 · 384 阅读 · 0 评论 -
线性表1.数组表示方法
线性表是一种线性结构。所谓线性结构是指数据元素与自然数之间存在着一对一的关系,这里的一对一并一定只得是一个数据,而是从抽象角度来说的集合,两个集合之间的元素两两相互对应。 废话不多说,上代码 #include<iostream> using namespace std; const int LIST_SIZE = 5000; class ELEM {//存储的表元素(自定义数据) private: int key; public: ELEM() { this->key = 0;原创 2022-02-11 21:42:22 · 795 阅读 · 1 评论