单链表实验完整版.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一:单链表上机实验报告 学生班级:1506班 姓名:王伟伟 学号:1550610604 实验日期:2015年10月22日 实验目的:A.在单链表中,怎么实现“插入”和“删除”的操作。 B.两个有序单链表合并成一个有序单链表的算法。 实验内容:编程实现建立一个单链表,并在此表中插入一个元素和删除一个元素。 1.通过键盘读取元素建立线性表 2.指定一个元素,再次元素之前插入一个新元素 3.指定一个元素,删除此元素 实验步骤及分析: 题目1: #include stdio.h #include stdlib.h #define OK 1 #define ERROR 0 typedef int ElemType; typedef int Status; typedef struct Lnode { ElemType data; struct Lnode *next; }Lnode,*LinkList; //请输入以下建立单链表算法 void Creatlist_L(LinkList head) { LinkList tail,p; int n,i; p=(Lnode *)malloc(sizeof(Lnode)); head=tail=p; head-next=NULL; printf(Please input length to creat a list:\n); scanf(%d,n); printf(Please input a group of values of the list:\n); for(i=1;i=n;i++){ p=(Lnode *)malloc(sizeof(Lnode)); scanf(%d,p-data); p-next=NULL; tail-next=p; tail=p; } printf(A list has been created successfully!\n); } //以下是输出单链表 void OutputList_L(LinkList L) { LinkList p = L-next; if(p==NULL) { printf(\n No list\n); return; } printf(The list is:\n); while (p) { printf(%4d,p-data); p = p-next; } printf(\n); } //在第i个元素之前插入一个元素 Status ListInsert_L(LinkList L, int i, ElemType e) { LinkList p,s; int j=0; p=L; //请在此填写代码,将该算法补充完整,参见书本P30 算法2.9 while(p ji-1) { p=p-next; j++; } if(!p||ji-1) return ERROR; s=(LinkList)malloc(sizeof(Lnode)); s-data=e;s-next=p-next; p-next=s; return OK; } // 删除第 i 个元素 Status ListDelete_L(LinkList L, int i, ElemType e) { LinkList p=L,q; int j=0; while(p-next ji-1) //请在此填写代码,将该算法补充完整,参见书本P30 算法2.10 { p=p-next; j++; } if(!(p-next)||ji-1) return ERROR; q=p-next;p-next=q-next; e=q-data;free(q); return OK; } void main() { system(color f0); LinkList L; int choice,i; ElemType e; choice=1; printf(We should create a list first!); Creatlist_L(L); OutputList_L(L); while(choice!=0) { printf(\n menu \n); printf( 1 insert a elem ); pri

文档评论(0)

153****7720 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档