- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ttincludeO #define null 0
ttdefine len sizeof (struct Inode) int n;
struct Inode *creatlist();
struct Inode *listinsert();
struct Inode *listdel();
struct Inode t
int a;
struct Inode *next;
};
struct Inode *head;
void main ()
{
int n;
do {
printf (*=====链式表练习===\n);
printf (”请选择操作:\n〃);
printf (zz 1、建立链式表\n);
printf Cz 2、插入新元素\n);
printf (w 3、删除元素\n)-
printf C===================\n,);
scanfn);
switch (n)
(
case 1:creatlist 0;break;
case 2:listinsert ();break;
case 3:listdel();break;
default:printf C选择错误,请确认输入! \n) ;break;
}
}while(l);
}
struct Inode *creatlist()//建立链表
{
struct Inode *pl,*p2, *p0;
n=0;
head=null;
pl=(struct Inode *)malloc(len):
printfC请输入初始元素:\n〃);
scanf(時d”, pl~a);
pl-next=null;
while(pl-a!=0)
++n;
if(n==l) head二pl;
else p2-next=pl;
p2=pl;
pl=(struct Inode *)malloc(len):
scanfpl-a); pl-next=null;
}
free(pl);
printfC建立链表成功! \n);
printf (*建立的链表为:\n);
pO二head;
do
(
printf(%d “, pO-a); pO=pO~next;
)while(pO!=null);
printf(\n);
free (pO);
return(head);
} struct Inode *listinsert () //插入链表元素
int i, j=l:
struct Inode *p, *Q, *p0;
p=pO=head;
q=(struct Inode *)malloc(len):
printf(“请选择插入的位置:\n);
scanf (%d”, i);
printf(”请输入要插入元素的值:\/);
scanf (%d”, q-a);
while(ji-l)
(
p=p-next;
j++;
}
q-next=p-next;
p-next=q;
free(p);
printf C插入成功! \iT);
printf (*插入后链表为:\n);
/*do
(
printf(%d “, pO-a);
pO=pO-next;
)while(pO!=null);
printf(\n);
free(pO) ;*/
return(head);
!
struct Inode *listdel () //删除链表元素
(
int j;
struct Inode *p, *q, *p0;
p=q=pO=head;
printfC请输入要删除的元素:\n);
scanf j);
while(p-a!=j)
(
Q=P;
p=p-next;
}
q-next=p-next;
free(p);
printf (*删除成功! \n);
printfC删除后链表为:\n”); do
struct linknode *qdel ();
struct linknode *qdel ();
printf(%d , pO-a);
pO=pO-next;
} while(pO!=null):
printf(\n);
free(q);
free(pO);
return(head);
} ttincludeO #define null 0:
struct qnode\
int data;
struct qnode *next;
};
struct 1 inkqueue(
}q;
}q;
struct qnode*front;struct qnode*rear;
struct qnode
*front;
struct qnode
*rear;
struct1 inknode*qinit ();structlinknode*qinsert ();
struct
1 inknode
*qinit
您可能关注的文档
最近下载
- 2025年工业互联网区块链智能合约安全审计与合规性检查报告.docx VIP
- 部编版八年级语文上册《短文两篇》.pptx VIP
- 2024版大学生就业指导课件.ppt VIP
- 路面硬化项目图纸施工图.pdf VIP
- YS_T 582-2023《电池级碳酸锂》.pdf VIP
- DB3607_T 006-2022 设施芦笋富硒营养强化技术规程.docx VIP
- HJ 479-2009 环境空气 氮氧化物(一氧化氮和二氧化氮)的测定 盐酸萘乙二胺分光光度法.pdf VIP
- 6 别了,“不列颠尼亚”.《别了,不列颠尼亚》课件.ppt VIP
- 国际人才英语教程(中级)课后习题答案解析.pdf
- 骨质疏松健康宣教ppt(完整版).pptx VIP
文档评论(0)