博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谭浩强C语言第四版第九章课后习题7--9题(建立,输出,删除,插入链表处理)...
阅读量:4677 次
发布时间:2019-06-09

本文共 2525 字,大约阅读时间需要 8 分钟。

1 #include
2 #include
3 #define N sizeof(link) 4 typedef struct stu 5 { 6 struct stu *next; 7 int date; 8 }link; 9 void print(link*head)/*打印链表数据*/10 {11 link *p;12 p=head->next;13 if(p)14 do15 {16 printf("%d\t",p->date);17 p=p->next;18 }while(p);19 printf("\n");20 }21 link *creat(void)/*创建链表*/22 {23 link *head,*p,*s;24 head=(link*)malloc(N);25 head->next=p=(link*)malloc(N);26 printf("请输入数据输入‘0’结束创建链表:\n");27 scanf("%d",&p->date);28 while(p->date)29 {30 p->next=(link*)malloc(N);31 s=p;32 p=p->next;33 printf("请输入数据输入‘0’结束创建链表:\n");34 scanf("%d",&p->date);35 }36 s->next=NULL;37 return(head);38 }39 link *del(link *head,int m)/*删除指定数据节点*/40 {41 link *p,*last,*s;42 last=head;43 p=head->next;44 while(p)45 {46 if(p->date==m)47 {48 last->next=p->next;49 s=p;50 p=p->next;51 free(s);52 }53 else {54 last=last->next;55 p=p->next;56 }57 }58 return head;59 }60 link *insert(link *head,int m)/*在m数据结点后插入结点并输入数据*/61 {62 link *p,*pnew;63 for(p=head->next;p;p=p->next)64 if(p->date==m)65 {66 pnew=(link*)malloc(N);67 printf("请输入插入的数据:\n");68 scanf("%d",&pnew->date);69 pnew->next=p->next;70 p->next=pnew;71 }72 printf("成功插入结点数据!\n");73 return(head);74 }75 int main()76 {77 link*head;78 int n;79 head=creat();80 printf("打印未处理的数据:\n");81 print(head);82 printf("\n输入要删除的数据结点:\n");83 scanf("%d",&n);84 printf("打印删除后的链表数据:\n");85 print(del(head,n));86 printf("\n输入在哪个链表数据后插入结点:\n");87 scanf("%d",&n);88 printf("打印插入后的链表数据:\n");89 print(insert(head,n));90 return 0;91 }

测试数据:

请输入数据输入‘0’结束创建链表:1请输入数据输入‘0’结束创建链表:2请输入数据输入‘0’结束创建链表:3请输入数据输入‘0’结束创建链表:4请输入数据输入‘0’结束创建链表:5请输入数据输入‘0’结束创建链表:6请输入数据输入‘0’结束创建链表:7请输入数据输入‘0’结束创建链表:8请输入数据输入‘0’结束创建链表:9请输入数据输入‘0’结束创建链表:10请输入数据输入‘0’结束创建链表:0打印未处理的数据:1       2       3       4       5       6       7       8       9       10输入要删除的数据结点:7打印删除后的链表数据:1       2       3       4       5       6       8       9       10输入在哪个链表数据后插入结点:6打印插入后的链表数据:请输入插入的数据:666666成功插入结点数据!1       2       3       4       5       6       666666  8       9       10Press any key to continue

  

转载于:https://www.cnblogs.com/happyfei/p/10680154.html

你可能感兴趣的文章
让App飞久一点
查看>>
Structure Streaming和spark streaming原生API访问HDFS文件数据对比
查看>>
分布式存储系统可靠性系列三:设计模式
查看>>
固定背景图片铺满浏览器窗口
查看>>
Android的View和ViewGroup分析(转载)
查看>>
进程线程任务程序之间的关系
查看>>
this关键字的由来及使用
查看>>
两个时间相差多少 .net中的timespan应用
查看>>
递归 换零钱问题——由打靶子问题引申
查看>>
Python-函数基础
查看>>
Extensible Messaging and Presence Protocol (XMPP) 简介
查看>>
Farm Irrigation
查看>>
lvs+keepalived集群架构服务
查看>>
windows平板的开发和选型
查看>>
无平方因子的数(数论初步) By ACReaper
查看>>
mysql 命令
查看>>
mysql数据库中查询汉字的拼音首字母
查看>>
LaTeX等号中间加问号
查看>>
UltraISO 制作U盘系统安装盘
查看>>
C语言截取字符串
查看>>