博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单链表的基本操作----《数据结构》
阅读量:5150 次
发布时间:2019-06-13

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

#include
#include
#include
typedef int ElemType;typedef struct Node{ ElemType data; struct Node *next; }Node,*LinkedList;LinkedList Creatlist(LinkedList head){ int i,d; LinkedList p,q; p = head; printf("请输入链表元素,输入为404时停止输入 :"); while(1) { scanf("%d",&d); if(d!=404) { q = (LinkedList)malloc(sizeof(Node)); q->data = d; q->next = NULL; p->next = q; p = q;} else return false; } return head;}void PutList(LinkedList head,LinkedList p){ p = head->next; while(p){ printf("%d",p->data); p=p->next; }}void InsertList(LinkedList head){ if(!head){ printf("链表不存在"); return ; } int c = 0; LinkedList p = head; while(p!=NULL){ c++; if(c==5){ LinkedList temp = (Node*)malloc(sizeof(Node)); temp->data =999; temp->next = p->next; p->next = temp; break; } p= p->next; } }//删除第五个元素 void Del(LinkedList head){ LinkedList p; int c=0; if(!head){ printf("链表不存在"); return ; } p = head; while(p){ c++; if(c==5){ p->next = p->next->next; } p= p->next; } }//删除指定区域的元素void DelList(LinkedList head,int mink,int maxk){ LinkedList p,q,temp; if(!head){ printf("链表不存在"); return; } temp = head; p = head; while(p->next){ if(p->next->data>=mink&&p->next->data<=maxk){ q = p->next; p->next = q->next; free(q); } else p = p->next; } } int main(){ LinkedList head,p; head = (LinkedList)malloc(sizeof(Node)); head->next = NULL; int n,i,mink,maxk; Creatlist(head); printf("输入相应编号,执行操作\n1.遍历单链表\n2.在单链表中插入元素\n3.删除单链表中的元素\n4.删除指定区域的元素;"); scanf("%d",&i); switch(i){ case 1: PutList(head,p); break; case 2: InsertList(head); p = head->next; while(p){ printf("%d",p->data); p=p->next; } break; case 3: Del(head); p = head->next; while(p){ printf("%d",p->data); p=p->next; } break; case 4: printf("请输入删除的范围"); scanf("%d %d",&mink,&maxk); DelList(head,mink,maxk); //printf("1===") ; p= head->next; while(p){ printf("%d",p->data); p=p->next; } break; } return 0; }

 

转载于:https://www.cnblogs.com/peak01/p/7788457.html

你可能感兴趣的文章
sql 简单的定义变量 声明 输出
查看>>
【Java】使用Eclipse进行远程调试,Linux下开启远程调试
查看>>
js对象属性方法
查看>>
转:JUnit使用指南
查看>>
C++面试题整理(持续更新中)
查看>>
vs2017 git到oschina 方法
查看>>
对Vue为什么不支持IE8的解释之一
查看>>
使用easyUI 为datagrid冻结列
查看>>
开发 web 桌面类程序几个必须关注的细节
查看>>
bzoj 2784: [JLOI2012]时间流逝【树形期望dp】
查看>>
Myeclipse10.7添加本地插件方法
查看>>
Swift - 将字符串拆分成数组(把一个字符串分割成字符串数组)
查看>>
coredata 数据库升级
查看>>
NSRange,判断字符串的各种操作~
查看>>
Java基本数据类型之间赋值与运算归纳
查看>>
Facebook开源软件列表
查看>>
Swift版音乐播放器(简化版),swift音乐播放器
查看>>
iOS中AutoLayer自动布局流程及相关方法
查看>>
聊一聊 Android 6.0 的运行时权限
查看>>
递归+分治+贪心+动态规划
查看>>