![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
文章平均质量分 58
wangsimiao118
这个作者很懒,什么都没留下…
展开
-
约瑟夫问题
这道题的算法思想就是先创建一个循环链表,然后在建一个指针,使其始终跟在头指针的后面,方便删除指定的结点。 代码如下: #include #include struct node { int data; struct node* next; }; struct node *p; struct node* Createlist(int n) /*创建一个循环链表原创 2016-08-05 14:12:12 · 283 阅读 · 0 评论 -
数据结构实验之链表一:顺序建立链表
这道题的算法思想是从尾部插入元素来建立单链表。 #include #include struct node{/*单链表的定义*/ int data; struct node* next; }; struct node* Creatlist(int n){/*从尾部插入,创建单链表*/ struct node* head,*tail,*p;/*需要定义一个原创 2016-07-30 16:31:07 · 256 阅读 · 0 评论 -
数据结构实验之链表三:链表的逆置
这道题的算法思想就是先建立一个顺序链表,然后再建一个空表,在head和head->next之间不断插入新的结点。 代码如下: #include #include struct node{ int data; struct node* next; }; void Putlist(struct node* head){/*输出函数*/ struct nod原创 2016-07-30 20:57:38 · 706 阅读 · 0 评论 -
数据结构实验之链表四:有序链表的归并
这道题的算法思想是建立一个空表,通过建立顺序链表,让指针依次指向原来两个链表中较小的元素。 代码如下: #include #include struct node{/*单链表的定义*/ int data; struct node* next; }; struct node* Createlist(int n){/*顺序建立单链表*/ struct no原创 2016-08-01 10:26:36 · 1491 阅读 · 0 评论 -
数据结构实验之链表五:单链表的拆分
这道题的算法思想就是将一个单链表拆分成两个单链表,也就是说再建立两个单链表,在其中加入控制条件即可。 代码如下: #include #include struct node{ int data; struct node* next; }; struct node* Createlist(int n){ struct node* head,*tail,*原创 2016-08-01 14:44:52 · 889 阅读 · 0 评论 -
数据结构实验之链表六:有序链表的建立
这道题的算法思想就是通过比较已经建好链表中的元素,排序的同时建立新的单链表。 代码如下: #include #include struct node{ int data; struct node* next; }; struct node* Createlist(int n){/*建立顺序单链表*/ struct node* head,*tail,*p原创 2016-08-01 17:09:36 · 324 阅读 · 0 评论 -
数据结构实验之链表七:单链表中重复元素的删除
这道题的算法思想就是逆序建立一个单链表,然后通过逐个比较元素找到重复元素,关键在于要设定一个指针,让它始终跟在寻找重复元素指针的后面。 代码如下: #include #include struct node{ int data; struct node* next; }; struct node* Createlist(int n){/*逆序建立单链表*/原创 2016-08-01 20:42:38 · 3811 阅读 · 0 评论 -
数据结构实验之链表八:Farey序列
这道题的算法思想就是建立一个有两个数值域的单链表,分别代表分子和分母,然后通过比较两个分母之和与n的大小,插入新的结点。 代码如下: #include #include struct node{ int data1,data2; struct node* next; }; void Createlist(struct node* head,int n){原创 2016-08-02 15:13:08 · 554 阅读 · 0 评论 -
数据结构上机测试2-1:单链表操作A
这道题的算法思想就是顺序建立一个链表,然后将表中的元素逐个与指定的值比较,若与p相等,则找到其前一个结点q,然后删除p结点即可。 代码如下: #include #include struct node{ int data; struct node* next; }; struct node* Createlist(int n){/*顺序建立链表*/ s原创 2016-08-04 15:56:43 · 381 阅读 · 0 评论 -
数据结构上机测试2-2:单链表操作B
这道题的算法思想就是逆序建立一个单链表,然后逐个比较并删除其中的重复元素,在删除结点时需找到其前一个结点的位置。 代码如下: #include #include struct node{/*单链表的定义*/ int data; struct node* next; }; struct node* Createlist(int n){/*逆序建立单链表*/原创 2016-08-04 16:47:01 · 353 阅读 · 0 评论 -
不敢死队问题
这道题的算法思想就是构建一个循环链表,然后将排长设为头结点,设置一个标记变量k,用来记录走过的结点数,当结点数等于5的倍数时,判断当前结点是不是头结点,若是,则输出k/5;若不是,则删除当前结点,继续循环。 代码如下: #include #include struct node{ int data; struct node* next; }; struct no原创 2016-08-04 21:12:41 · 2243 阅读 · 0 评论 -
数据结构实验之链表二:逆序建立链表
这道题的算法思想是从头部插入的方法建立链表。 #include #include #include struct node{/*链表的定义*/ int data; struct node* next; }; struct node* Creatlist(int n){/*创建链表,从头部插入*/ struct node* head,*p;/*定义结构原创 2016-07-30 15:14:40 · 2453 阅读 · 0 评论