欢迎来到天天文库
浏览记录
ID:56998244
大小:60.50 KB
页数:15页
时间:2020-07-30
《软件技术基础上机实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、电子科技大学上机实验报告科目名称:软件技术基础任课教师:庞晓凤学生姓名:王德斌学生学号:30软件技术基础上机实验报告实验一:顺序表和单链表基本操作上机实验一、实验目的:理解线性结构的基本概念,掌握两种基本的存储结构:顺序存储结构(顺序表)和链式存储结构(单链表);用C语言实现在两种存储结构上的对应操作(包括创建、删除插入元素、遍历等),巩固强化C程序设计的基本方法和能力。二、实验内容:1、顺序表的创建、元素删除、遍历等操作:有序的一组整数{1,2,3,4,6},设计顺序表并实现以下操作:A.初始化一个空的顺序表;B.从键盘依次输入上述数据添加到顺序表中;C.删除表中的第四个数据元素;
2、D.显示B、C操作后顺序表中的内容。程序:#include#definetrue1#definefalse0#defineMaxnum10typedefstruct{intdata[Maxnum];intnum;}listtype;intdelete(listtype*l,intx){inti;if((x<0)
3、
4、(x>l->num-1)){printf("未返回顺序表");return(false);}for(i=x+1;i<((l->num)+1);i++)l->data[i-2]=l->data[i-1];l->num--;return(true);}intd
5、isplay(listtype*l){intj;printf("顺序表如下");if(l->num==0)printf("空表");else{if(l->num==1)printf("%d",l->data[0]);else{for(j=0;jnum-1;j++)printf("%d",l->data[j]);printf("%d",l->data[j]);}}return(true);}main(){listtypelist;inti,x;printf("请输入表长");scanf("%d",&list.num);printf("请输入数据");for(i=0;
6、i7、#include#includestructnode{intval;intw;structnode*next;};inta[7]={1,2,2,3,4,6,6};node*h=(node*)malloc(sizeof(node));node*t;node*x;voidprint(){printf("此单链表为:");for(x=h;x->next!=NULL;x=x->next)printf("%d",x->next->val);}voidprint_len(){intlen=0;for(x=h;x->next!=NULL;x8、=x->next)len++;printf("链表长度为:%d",len);}voidsec(inti){intans1=-1;for(x=h;x->next!=NULL;x=x->next){if(x->next->val==i){ans1=x->next->w;break;}}printf("%d",ans1);}voidd(){for(x=h;x->next!=NULL;x=x->next){if(x->next->val==x->next->next->val)x->next=x->next->next;}}intmain(){printf("题中单链表如下"9、);t=h;intans1=-1;intlen=0;for(inti=0;i<7;i++){node*p=(node*)malloc(sizeof(node));t->next=p;t->next->val=a[i];t->next->w=i;t=t->next;}t->next=NULL;print();print_len();printf("数据为3的结点位置为:");sec(3);printf("数据为7的结点位置为:");sec(7);d();pr
7、#include#includestructnode{intval;intw;structnode*next;};inta[7]={1,2,2,3,4,6,6};node*h=(node*)malloc(sizeof(node));node*t;node*x;voidprint(){printf("此单链表为:");for(x=h;x->next!=NULL;x=x->next)printf("%d",x->next->val);}voidprint_len(){intlen=0;for(x=h;x->next!=NULL;x
8、=x->next)len++;printf("链表长度为:%d",len);}voidsec(inti){intans1=-1;for(x=h;x->next!=NULL;x=x->next){if(x->next->val==i){ans1=x->next->w;break;}}printf("%d",ans1);}voidd(){for(x=h;x->next!=NULL;x=x->next){if(x->next->val==x->next->next->val)x->next=x->next->next;}}intmain(){printf("题中单链表如下"
9、);t=h;intans1=-1;intlen=0;for(inti=0;i<7;i++){node*p=(node*)malloc(sizeof(node));t->next=p;t->next->val=a[i];t->next->w=i;t=t->next;}t->next=NULL;print();print_len();printf("数据为3的结点位置为:");sec(3);printf("数据为7的结点位置为:");sec(7);d();pr
此文档下载收益归作者所有