。(1)逆转该线性链表;(2)删除线性链表中从左往右第一个数据为data的链结点;(3)删除从第I个链结点开始的连续k个结点
你的这个有错误。
链表应用:已知非空线性链表第一个链结点的指针为list,写出下列各项操作的算法程序
答案:2 悬赏:40 手机版
解决时间 2021-03-03 23:50
- 提问者网友:趣果有间
- 2021-03-03 15:04
最佳答案
- 五星知识达人网友:蕴藏春秋
- 2021-03-03 15:44
(1)C source codec
#include "stdlib.h"
#include "stdio.h"
struct list
{ int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
void main()
{ link ptr,head,tail;
int num,i;
tail=(link)malloc(sizeof(node));
tail->next=NULL;
ptr=tail;
printf("\nplease input 5 data==>\n");
for(i=0;i<=4;i++)
{
scanf("%d",&num);
ptr->data=num;
head=(link)malloc(sizeof(node));
head->next=ptr;
ptr=head;
}
ptr=ptr->next;
while(ptr!=NULL)
{ printf("The value is ==>%d\n",ptr->data);
ptr=ptr->next;
}}
(2)检测到为data,则把上一指针指向他所指的单元,即把它跳过
(3)同理,只是跳过k个单元
#include "stdlib.h"
#include "stdio.h"
struct list
{ int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
void main()
{ link ptr,head,tail;
int num,i;
tail=(link)malloc(sizeof(node));
tail->next=NULL;
ptr=tail;
printf("\nplease input 5 data==>\n");
for(i=0;i<=4;i++)
{
scanf("%d",&num);
ptr->data=num;
head=(link)malloc(sizeof(node));
head->next=ptr;
ptr=head;
}
ptr=ptr->next;
while(ptr!=NULL)
{ printf("The value is ==>%d\n",ptr->data);
ptr=ptr->next;
}}
(2)检测到为data,则把上一指针指向他所指的单元,即把它跳过
(3)同理,只是跳过k个单元
全部回答
- 1楼网友:狂恋
- 2021-03-03 16:43
这是一个人的心理问题
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯