- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;常用链表类型;常用链表类型;单链表的常用操作;单链表的常用操作;单链表的常用操作;单链表应用举例;struct Node
{
int data;
struct Node *next;
};
//将元素插入有序单链表中,插入后仍然有序
void Insert (struct Node *la, int x);
//销毁单链表
void Destory (struct Node *la);
//打印单链表
void Print (struct Node *la);
;//动态分配一个结点,返回结点指针
//分配失败时,简化程序,退出运行
struct Node *NewNode ()
{ struct Node *p;
p = (struct Node *) malloc (sizeof (struct Node));
if (p == NULL) { //分配失败
printf ("Error : out of memory\n");
exit (-1); //简化程序,退出运行
}
return p;
};//将元素插入有序单链表中,插入后仍然有序
void Insert (struct Node *la, int x)
{ struct Node *q= NewNode (); //申请结点
q->data = x;
//查找合适插入位置
struct Node *p = la;
while (p->next && x > p->next ->data)
p = p->next; //往后移一位置
//将结点插入p所指结点后
q->next = p ->next ;
p->next = q;
};//打印单链表
void Print (struct Node *la)
{ la = la ->next; //头结点无数据
if (la) {//数据比-〉多一个
printf ("%d", la->data);
la = la->next;
}
while (la) {
printf ("->%d", la->data);
la = la->next;
}
printf ("\n");
};//销毁单链表
void Destory (struct Node *la)
{ while (la) {
struct Node *q = la->next;
free (la); //释放指针所指结点
la = q;
}
};int main ()
{ //建立带头节点的单链表
struct Node *la = NewNode ();
la->next = NULL;
int x;
printf ("请输入若干个需要插入的正整数,非正整数代表输入结束:\n");
scanf ("%d", &x);
while (x >0) {
//将元素插入有序单链表中,插入后仍然有序
Insert (la, x);
scanf ("%d", &x);
}
(待续)
; //打印单链表
Print (la);
//销毁单链表,避免内存泄漏
Destory (la);
return 0;
}
运行情况如下:
请输入若干个需要插入的正整数,非正整数代表输入结束:
5 2 4 1 9 8 3 0
1->2->3->4->5->8->9;课后作业——第1题;课后作业——第1题;课后作业——第1题
;课后作业——第1题
;课后作业——第1题
;课后作业——第1题
;课后作业——第1题
;课后作业——第1题;第一章;;第一章;第一章;第一章;单链表基本操作的实现; //链表结点类型
struct Node {
DataElem data;
struct Node *next;
};
//线性表类型
struct List {
struct Node *pHead;
struct Node *pTail;
};
typedef struct Node * Position; //线性表中位置类型; 1. 创建空线性表
//空表管理的单链表只有一个头结点,失败时首尾指针为NULL
struct List Create ()
您可能关注的文档
- (4.1.1)--第二册船舶柴油机.pdf
- (4.1.2)--第三册船舶柴油机.pdf
- 一年级班主任述职报告 (14篇).docx
- 电信装维述职报告 电信装维述职报告总结 (14篇).docx
- 入党积极分子述职报告 入党积极分子述职报告 (8篇).docx
- 小学德育主任述职报告 小学德育主任工作述职 (15篇).docx
- 乡镇长述职述廉报告 乡镇长述职述廉报告范文 (18篇).docx
- 移动述职报告 移动述职述廉报告2023 (21篇).docx
- 什么叫述职报告 什么叫述职报告范文 (14篇).docx
- 做述职报告 做述职报告演讲时开头怎么说 (15篇).docx
- 仓库保管员述职报告 仓库保管员述职报告总结 (21篇).docx
- 教师高级职称述职报告 教师高级职称述职报告要求字数多少 (17篇).docx
- 加油站经理述职报告 加油站经理述职报告2023年 (17篇).docx
- 销售主管述职报告范文 销售主管述职报告范文大全 (17篇).docx
- 机修班长述职报告 机修班长述职报告 (20篇).docx
- 村干部半年述职报告 村干部半年述职报告 (17篇).docx
- 学生会组织部述职报告 (15篇).docx
- 教师职称评定述职报告 初中教师职称评定述职报告 (17篇).docx
- 信贷述职报告 信贷述职报告怎么写 (17篇).docx
- 入党述职报告范文 入党述职报告范文大全 (19篇).docx
文档评论(0)