- 3
- 0
- 约2.49千字
- 约 6页
- 2023-05-25 发布于山东
- 举报
设计在单链表中删除值同样的剩余结点的算法
思路:
创立单链表
输出单链表
删除剩余
——删除
循环拿出单链表的值
依表比较1删除——持续
实行过程:
定义数据域(int)
定义节点
创立单链表
输出单链表信息操作
删除算法
1
输入p-number
存入以head为
头结点的单链
表中
输入flag
flag
开始
Flag
23
p=head-next
q=head-nextp=head-nextr=head-next
0
p0
1
1
Key=p-number
Printf(“%d”
,p-number)
q-next
1
q-next-
number==Key0
1
r=q-next
q-next=q-
next-next
Free(r)
输入达成删除达成输出达成
#includestdio.h
#includestdlib.h
#includemalloc.h
#includeconio.h
//defineNode
typedefstructNode
{
intnumber;
structNode*next;
}ListNode;
typedefListNode*LinkList;
LinkListhead;
//CreateListNode
LinkListcreatList(void)
{
//definenode
head=(ListNode*)malloc(sizeof(ListNode));
ListNode*p;
ListNode*rear;
rear=head;
charflag=y;
//xunhuanshuru
while(flag==y||flag==Y)
{
p=(ListNode*)malloc(sizeof(ListNode));
printf(输入数值:\n);
scanf(%d,p-number);
rear-next=p;
rear=p;
printf(持续输入吗?(y/n):\n);
flag=getch();
}
rear-next=NULL;
returnhead;
}
//deleteduoyu
voiddeleteList(LinkListhead)
{
ListNode*p;//waiceng
p=head-next;
ListNode*q;
ListNode*r;
q=p;//neiceng
r=p;
intkey;//huodemeicixunhuandezhi
//xunhuan
while(p)
{
key=p-number;
//q=p-next;
while(q-next)
{
if(q-next-number==key)
{
r=q-next;
q-next=q-next-next;
free(r);
//zengjiashifangkongjiandefaima
//break;
}
else
{
q=q-next;
}
}
p=p-next;
q=p;
}
return;
}
//printList
voidprintList(LinkListhead)
{
ListNode*p;
p=head-next;
while(p!=NULL)
{
printf(输出的数值为:);
printf(%d\n,p-number);
p=p-next;
}
printf(
输出完成
\n);
}
//menu
intmenu_select()
{
intsn;
printf(\n删除剩余结点算法设计\n);
printf(==================================\n);
printf(1.线性表成立\n);
printf(2.删除剩余\n);
printf(3.查问信息\n);
printf(0.退出管理系统\n);
printf(==================================\n);
printf(请选择0-5:\n);
for(;;)
{
scanf(%d,sn);
if(sn0||sn3)
printf(\n\t输入错误,重选0-5\n);
else
break;
}
returnsn;
}
//Control
voidmain()
{
while(1)
{
switch(menu_select())
{
case1://setup
printf(*******************************************\n);
printf(学生信息线性表成立\n);
printf(*******************************************\n);
head=creatList();
break;
case2://delete
printf(*********
您可能关注的文档
- 铝酸钙生产工艺简介.doc
- 铝酸钙粉回转窑参数详解.doc
- 铝镁锰合金屋面板与彩钢板的对比.doc
- 铰刀切削参数表.doc
- 链条传动设计规范标准.doc
- 链条炉排(炉拱分段送风二次风等改善燃烧工况的措施)0.doc
- 链球菌和附红细胞体的保健方案.doc
- 链路聚合实验.doc
- 链轮链条传动装配作业标准.doc
- 链锯的尺寸结构要求美款很实用明了.doc
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
原创力文档

文档评论(0)