没有合适的资源?快使用搜索试试~ 我知道了~
链表练习题(修正)1
需积分: 0 1 下载量 169 浏览量
2022-08-08
23:15:25
上传
评论
收藏 18KB DOCX 举报
温馨提示
试读
5页
链表要求掌握链表的基本操作, 包括创建链表(首插法, 尾插法), 遍历链表, 查找, 插入一个结点, 删除一个结点或多个结点结点结构为: typedef str
资源推荐
资源详情
资源评论
链表要求掌握链表的基本操作, 包括创建链表(首插法, 尾插法), 遍历链表,
查找, 插入一个结点, 删除一个结点或多个结点
结点结构为:
typedef struct node
{ int num;
struct node *next; } NODE;
1. 下面的函数是将 p 所指的结点插入 head(形参中)所指的单向链表中。设
链表已按编号号(num)从小到大顺序排列,要求将 p(形参)所指的结点插入后链
表保持有序,函数返回插入后的链表的头指针。(带头结点的单链表)
函数为:
NODE *insert(NODE *head ,NODE * p)
{ NODE *front,*rear;
front=head->next;
rear=head;
while (front!=NULL && front->num < p->num) {
rear=front;
front=front->next ;
}
//插入 p 指向的结点
p->next=front;
rear->next=p;
return head ;
}
2.下面的函数 create 是建立带头结点单向链表的函数,它返回已建立的链表的
头指针。(尾插法:先输入的结点值在头,后输入的结点在尾)
结点结构为:
typedef struct node { int num; struct node *next; } NODE;
NODE *create()
{
NODE *head,*tail,*p;
int num;
head==(NODE *)malloc(sizeof(NODE)); /* 建立头结点 */
head->next=NULL;
tail=head;
scanf("%d",&num);
while (num!=0) {
p=(NODE *)malloc(sizeof(NODE));
//如果 malloc 返回值是 NULL,申请空间不成功, 退出
if ( p==NULL ) {
printf("No enugh memory!");exit(1);
}
资源评论
型爷
- 粉丝: 16
- 资源: 337
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功