
数据结构-链表
SoWhat1412
微信搜索【SoWhat1412】,第一时间阅读原创干货文章。人之患、在好为人师、不实知、谨慎言。点点滴滴、皆是学问、看到了、学到了、便是收获、便是进步。
展开
-
python 常用数据结构
文章目录顺序表单向连表双向链表栈队列二叉树 顺序表 # 导入模块 from timeit import Timer # 定义append_test def append_test(): li = [] for i in range(10000): li.append(i) def insert_test(): li = [] for i in...原创 2020-01-14 17:00:16 · 1727 阅读 · 15 评论 -
链表翻转(看图学)
如何把一个单链表进行反转? 方法1:将单链表储存为数组,然后按照数组的索引逆序进行反转。 方法2:使用3个指针遍历单链表,逐个链接点进行反转。 方法3:从第2个节点到第N个节点,依次逐节点插入到第1个节点(head节点)之后,最后将第一个节点挪到新表的表尾。 方法4: 递归(相信我们都熟悉的一点是,对于树的大部分问题,基本可以考虑用递归来解决。但是我们不太熟悉的一点是,对于单链表的一些...原创 2018-12-13 09:14:37 · 565 阅读 · 1 评论 -
二叉树的非递归遍历
建立二叉树后通过递归进行遍历时很简单 #include #include #include using namespace std; typedef struct treenode { int data; struct treenode * left; struct treenode* right; }TREE_NODE; typedef struct T_N {原创 2017-07-11 15:39:14 · 594 阅读 · 1 评论 -
3个链表排序整合到一起
#include #include using namespace std; typedef struct node { int data; struct node* next; }NODE; NODE* CreateList(int a[], int n) { NODE* p; NODE* q; NODE* head; p = new NODE原创 2017-03-09 13:21:23 · 834 阅读 · 1 评论 -
双向链表
/* 双向线性链表 * * LIST * +------+------+ * +------ | head | tail | ------+ * | +------+------+ | * | | * V LIST_NODE V * +------+ +------+ +------+ * | data | | data | | data | * +------+ +------+ +------原创 2017-03-02 14:42:51 · 698 阅读 · 0 评论 -
带头节点的循环链表及两个循环链表的合并
#include using namespace std; bool cir=0; #if 1 // 0 为队列一样的链表 typedef struct cirlist { int data; struct cirlist *next; }CIR_LIST; CIR_LIST* create_list() { CIR_LIST* list = ne原创 2017-03-02 11:36:50 · 1009 阅读 · 1 评论 -
单链表
#include using namespace std; typedef struct listnode { int data; struct listnode *next; }LIST_NODE; typedef struct list { LIST_NODE* head; }LIST; LIST* create_list() { L原创 2017-03-02 10:46:45 · 570 阅读 · 0 评论 -
静态链表
#include using namespace std; #define MAX 100 typedef struct staticlist { int data; int next; }STATIC_LIST[MAX]; void create_list(STATIC_LIST space) { for(int i=0; i {原创 2017-03-02 10:49:21 · 895 阅读 · 0 评论 -
josephus问题->不带头节点的循环链表
#include #include using namespace std; typedef struct node { int data; struct node *next; }NODE; NODE* create_circlelist(int n) //建立不带头节点的循环单链表 { NODE* head; NODE* p;原创 2017-03-02 11:33:06 · 7770 阅读 · 2 评论