#include<stdio.h>
#include<stdlib.h>
typedef struct Node
{
int data; //数据域
struct Node * pNext; //指针域
}NODE, * PNODE;
PNODE create_linklist(); //创建不带头结点的单链表
bool delete_nodes(PNODE *, int, int); //删除从指定位置开始的连续多个节点
int length_linklist(PNODE); //求链表长度
void traverse_linklist(PNODE); //遍历输出链表
int main(void)
{
int pos;
int num;
PNODE list = NULL;
list = create_linklist();
printf("删除前的链表:\n");
traverse_linklist(list);
printf("请输入你要删除的位置:\n");
scanf("%d", &pos);
printf("请输入你要连续删除的节点个数:\n");
scanf("%d", &num);
if(delete_nodes(&list, pos, num))
{
printf("删除成功!\n");
}
else
{
printf("删除失败!\n");
}
printf("删除后的链表:\n");
traverse_linklist(list);
return 0;
}
PNODE create_linklist()
{
int len; //用来存储链表长度
int val; /
删除单链表指定位置开始的连续多个节点
最新推荐文章于 2023-04-12 22:01:27 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)