一.对一个数组用堆排的方法排序 二.链表实现插入排序 三.设计一个算法,在尽可能少的时间里内重排数组,将所有关键字负值记录放在所有关键字非负值记录之前。O( n ) 的时间复杂度 四.写双冒泡排序算法。( 排序过程中交替改变扫描方向 ) 五.将两个递增的有序的单链表合并成一个递增有序的单链表。( 算 ...
分类:
编程语言 时间:
2019-10-06 09:36:45
阅读次数:
72
实现一个单链表,链表初始为空,支持三种操作: (1) 向链表头插入一个数; (2) 删除第k个插入的数后面的数; (3) 在第k个插入的数后插入一个数 现在要对该链表进行M次操作,进行完所有操作后,从头到尾输出整个链表。 注意:题目中第k个插入的数并不是指当前链表的第k个数。例如操作过程中一共插入了 ...
分类:
其他好文 时间:
2019-10-06 09:13:59
阅读次数:
68
1 #include<bits/stdc++.h> 2 using namespace std; 3 #define sc scanf 4 #define pr printf 5 6 typedef struct LNode{ 7 int data; 8 struct LNode *next; 9 ... ...
分类:
其他好文 时间:
2019-10-05 14:25:44
阅读次数:
132
栈的链表实现 C include include define OK 1 define ERROR 0 define TRUE 1 define FALSE 0 typedef int Status; typedef int SElemType; typedef struct SLNode{ SEl ...
分类:
其他好文 时间:
2019-10-04 22:50:18
阅读次数:
100
队列与栈一样是一种线性集合,队列与栈的不同之处在于,队列需要在两端进行操作,在用链表实现的队列中,需要在表头和表尾进行操作。 思考一下,在链表实现的队列中,入队和出队操作在表头和表尾进行有什么差异?(假设链表为单链表,head指向链表头节点,end指向链表尾节点) 先考虑入队操作,入队操作在链表头和 ...
分类:
其他好文 时间:
2019-10-04 20:46:44
阅读次数:
95
队列: 1.先进先出,后进后出; 2.支持入队Enqueue(将数据放到队尾)和出队Dequeue(取出队头数据)操作; 3.和栈一样属于操作受限的线性表; 如何实现队列? 1.数组实现(顺序队列) 2.链表实现(链式队列) 3.循环队列 队列的常见应用: 1.阻塞队列1)在队列的基础上增加阻塞操作 ...
分类:
其他好文 时间:
2019-10-03 18:10:11
阅读次数:
83
官方文档好像 GG 了。 rope 不属于标准 STL,属于扩展 STL,来自 pb_ds 库 (Policy Based Data Structures)。 基本操作: rope 内部是块状链表实现的,黑科技是支持 $O(1)$ 复制,而且不会空间爆炸 (rope 是平衡树,拷贝时只拷贝根节点就行 ...
分类:
编程语言 时间:
2019-10-03 00:59:46
阅读次数:
236
邻接链表存图,在这里其实是用数组进行模拟的 又叫做链式存储法,本来是要用链表实现的,但大多数情况下只需要用数组模拟即可 例: 话不多说,直接上代码 注:e[i]为一个结构体,负责记录每一条边的信息 总的来说,这是一种存图的方法,更是图论的基础 拓扑排序 拓扑排序是对有向无环图(Directed Ac ...
分类:
编程语言 时间:
2019-10-02 22:44:55
阅读次数:
139
1 #include 2 using namespace std; 3 #define sc scanf 4 #define ElemType int 5 //线性表的链式表示和实现 6 7 typedef struct LNode{ 8 int data; 9 struct LNode *next... ...
分类:
其他好文 时间:
2019-09-30 21:28:19
阅读次数:
70
开卷有益,最近正按计划巩固自己算法与数据结构的基础知识,目前看来收获开始很多的,重拾了很多遗忘的知识,注意到很多以前没有留意的细节。在复习使用链表实现栈是,注意到了一句话:“链表结构的细节内容应该与链表所存储的元素区分开来”。 我试着去理解这句话中包含的东西,以前我使用的链表大概是这样的: DATA ...
分类:
其他好文 时间:
2019-09-30 11:13:19
阅读次数:
77