数据结构-链表
文章平均质量分 58
parting_soul
大道至简
展开
-
关于链表的递归操作
不带头结点链表翻转 思路: 假设有1,2,3,4,5,6,这样6个数构成一个链表,要进行翻转操作,结果应为6,5,4,3,2,1, 假设要翻转1 ,那就要先翻转2,,要翻转2,就要翻转3,直到要翻转6,就是当剩下一个元素或者链表为空时作为结束条件 假设2,3,4,5,6,已经翻转,此时结果为1,6,5,4,3,2,可见,我们只需将1移到2后面就行了,还可以看到1一直是指向2的,所以找到2的位原创 2015-11-07 12:22:34 · 1465 阅读 · 0 评论 -
将循环链表插在单链表头部
#include #include typedef struct link_list { int info; struct link_list *next; }node; node *init() { return NULL; } node *create_headlink() //创建循环链表 { int x; node *head=(node *)ma原创 2015-09-28 00:47:57 · 280 阅读 · 0 评论 -
链表合集
单链表 #include #include typedef int datekey; typedef struct link_node { datekey info; struct link_node *next; }node; node *init() { return NULL; } void display(node *head)//输出各个节点的值 { n原创 2015-09-18 11:39:35 · 427 阅读 · 0 评论 -
链式栈
//链式栈就是顺序表的一种特殊情况,可以看成从从头结点进行插入删除操作 #include #include typedef int datatype; typedef struct link_stack { datatype info; struct link_stack *next; }node; node *init() { return NULL; } node *cre原创 2015-09-29 13:24:10 · 298 阅读 · 0 评论 -
链式队列
//基本与单链表相同,链式队列主要为头部删除,尾部插入,另外多了总指针指向队列的头和尾 #include #include typedef int datatype; typedef struct link_queue { datatype info; struct link_queue *next; }node; typedef struct { node *front原创 2015-09-30 13:37:33 · 349 阅读 · 0 评论