![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言——链表
链表基本操作:增删改查
链表相关习题
_Daisy_
这个作者很懒,什么都没留下…
展开
-
C语言——经典约瑟夫环问题(循环链表)
题目要求: 已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。 从编号为k的人开始报数,数到m的那个人自杀;他的下一个人又从1开始报数, 数到m的那个人又出列;依此规律重复下去,请问:最后一个存活的人编号是多少。 输入格式: 3个数n k m(含义如上题)输出格式: 最后一个出列的人编号。 样例输入: 6 1 2 样例输出: 5 算法思路: 约瑟夫环是一道经典的循环链表问题,每当报数到指定数字,那个人就出局,接下来的一个人重新开始报数,相当...原创 2021-11-19 20:36:33 · 2122 阅读 · 0 评论 -
链表删除指定节点问题
题目要求: 创建一个长度为n的链表,然后删除链表的倒数第x个结点, 并输出删除操作后的链表。 输入样例: 5 2 1 2 3 4 5 输出样例: 1>2->3->5 方法一: 普通链表删除操作实现:这种方法相对简单一些,主要是找到倒数第x结点的位置,然后执行删除操作,具体实现如下 : #include <stdio.h> #include <stdlib.h> typedef struct node{ int d...原创 2021-11-19 15:06:03 · 778 阅读 · 0 评论 -
C语言——链表(增删改查/遍历/元素个数)
链表结构体声明: 首先,在创建一个链表之前,我们要先创建一个链表单个节点的结构体,分别包含数据域和指针域,具体实现如下: typedef struct node{ int data; //数据域 struct node *next; //指针域 }Node,*Link; 单链表的创建: 创建一个带有头结点的链表,虽然不是必须的,但是很方便。 Link create() { Link head = NULL; head = (Link)malloc原创 2021-11-19 14:11:44 · 2713 阅读 · 2 评论