问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

设计一个算法,完成一个链表的创建,输入,插入和删除的实现(使用C语言环境)

发布网友 发布时间:2022-05-27 18:12

我来回答

1个回答

热心网友 时间:2023-11-13 01:38

/* 线性表-链表的操作: 只提供核心语句 */ #include "stdio.h" #include "stdlib.h" #define N 100 typedef int ElemType; /* 链表的存储结构 */ typedef struct LNode{ ElemType data; struct LNode *next; } LNode,*LinkList; /* 链表的基本操作 */ /******* 1.初始化链表 ******/ void InitList(LinkList *L) { *L=(LinkList)malloc(sizeof(LNode)); (*L)->next=NULL; } /******* 2.销毁链表 ******/ void DestroyList(LinkList *L) { LinkList p; while(*L!=NULL) { p=*L; *L=(*L)->next; free(p); } } /******* 10.在顺序表第n个位置插入元素e ******/ void ListInsert(LinkList *L, int n, ElemType e) { LinkList p,q,new; int i; q=*L; p=(*L)->next; i=1; while (p!=NULL && i<n) { q=p; p=p->next; i++; } new=(LinkList)malloc(sizeof(LNode)); new->data=e; q->next=new; new->next=p; } /******* 11.删除链表中第n个位置的元素 ******/ void ListDelete(LinkList *L, int n, ElemType *e) { LinkList p,q; int i; q=*L; p=(*L)->next; i=1; while (p!=NULL && i<n) { q=p; p=p->next; i++; } *e=p->data; q->next=p->next; free(p); } /******* 12.遍历链表并输出 ******/ void ListTraverse(LinkList L) { LinkList p; printf("\nList:\t"); p=L->next; while (p!=NULL) { printf("%d\t",p->data); p=p->next; } } /******* A(2).后接法建立顺序链表 ******/ void CreateList2(LinkList *L, ElemType a[], int n) { LinkList p,new; int i; p=*L; for(i=0; i<n; i++) { new=(LinkList)malloc(sizeof(LNode)); new->data=a[i]; p->next=new; p=p->next; } p->next=NULL; } /* 主函数 */ main() { LinkList La; ElemType a[]={1,3,5,7,9},x; InitList(&La);//初始化链表 CreateList2(&La,a,5);//建立链表并用数组赋值 ListTraverse(La);//遍历链表 ListInsert(&La, 3, 100);//第三个位置插入100 ListTraverse(La);//遍历链表 ListDelete(&La,5,&x);//删除第五个元素,用x返回 ListTraverse(La);//遍历链表 DestroyList(&La);//销毁链表 } 真是恭喜您了 我们刚上完这章,以上答案绝对正确简洁
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 帮忙看看一个算法设计题,用C语言实现 谁知道复数的运算算法设计和实现(C语言、) 把微信好友删了怎么恢复,没有手机号号? *上长了一块肉瘤 不知道是不是粘液型脂肪肉瘤?严重不严重呢? SNH48刘丽千确诊粘液样脂肪肉瘤,曾在直播中吐血,是什么让她这么拼? 粘液性脂肪肉瘤手术后一年半,怎么防止复发 倾向低度恶性粘液性脂肪肉瘤是什么意思 请问鱼肉状的粘液性脂肪肉瘤危险度有多高? 粘液性脂肪肉瘤扩散型高吗 被医院确诊为粘液性脂肪肉瘤,这是一种怎样的病,有没有生命危险,肉瘤长在右腿关节下册,发现到现在有两 粘膜性脂肪肉瘤和粘液性脂肪肉瘤有什么区别,哪个更严重?能治愈吗 粘液性脂肪肉瘤切除后要化疗吗? 曾都区南郊办事处三楼管什么业务 支持人才购房成楼市调控新路径:给补贴 定向放开限购 刘丽千确诊粘液样脂肪肉瘤,这是一种怎样的疾病? 饿了吗怎么给外地点餐 本来白带很多的,突然之间变少了,什么原因?而且还小腹痛 本来白带很多的,突然之间变少了,什么原因 手机尾号75914好不好? 手机尾号2472好吗有懂的吗 平湖有什么好玩的地方?哪些景点必去? 轻微轻微伤鉴定标准 沙朗尖儿菜怎么做 请问为什么CAD里面当对图块进行炸开改变颜色的时候,图块分解之后就没了? 为什么cad图形把块分解了过后有些数据就没有了还多了些没用的线?急求高手解决 在线等待 CAD中在使用分解时为什么有的图会消失 求介绍电气工程及其自动化这个专业,以及就业的详细情况 怀孕几天后就可以验出来了呢? 3+0和3+2专升本的区别 专升本,三加二和三加零的区别 专升本3+0和3+2有什么区别 请问3+0专升本和3+2专升本哪个好 3加0专升本和3加2专升本都考上的话真的相当于研究生学历吗? 三加二和专升本的区别 专生本和三加二的区别 2004年雅典奥运会中国获得几枚金牌 2004年中国拿了几块金牌 04年奥运会中国拿多少枚金牌? 2004年奥运会中国获得金牌第几名? 教师资格证考试成绩过了一门,这门成绩保留几次