欢迎来到天天文库
浏览记录
ID:47429975
大小:70.00 KB
页数:16页
时间:2020-01-11
《《数据结构》实训报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构实验报告实验一线性表1.实验要求1.1掌握数据结构中线性表的基本概念。1.2熟练掌握线性表的基本操作:创建、插入、删除、查找、输出、求长度及合并并运算在顺序存储结构上的实验。1.3熟练掌握链表的各种操作和应用。2.实验内容2.1编写一个函数,从一个给定的顺序表A中删除元素值在x到y之间的所有元素,要求以较高效率来实现。2.2试写一个算法,在无头结点的动态单链表上实现线性表插入操作2.3设计一个统计选票的算法,输出每个候选人的得票结果。3.实验代码2.1代码:#includetypedefintelemtype;#definemaxsiz
2、e10intdel(intA[],intn,elemtypex,elemtypey){inti=0,k=0;while(i=x&&A[i]<=y)k++;elseA[i-k]=A[i];i++;}return(n-k);}voidmain(){inti,j;inta[maxsize];printf("输入%d个数:",maxsize);for(i=0;i3、0;idata=x;s->next=L;L=s;}else{p=L;j=1;while(p&&jnext;}if(p4、5、j>i6、-1)returnerror;s=(Linklist)malloc(sizeof(Lnode));s->data=x;s->next=p->next;p->next=s;}}}2.3代码:typedefintelemtypetypedefstructlinknode{elemtypedata;structlinknode*next;}nodetype;16数据结构实验报告nodetype*create(){elemtyped;nodetypeh=NULL,*s,*t;inti=1;printf("建立单链表:");while(1){printf("输入第%d7、个结点数据域",i);scanf("%d",&d);if(d==0)break;if(i==1){h=(nodetype*)malloc(sizeof(nodetype));h->data=d;h->next=NULL;t=h;}else{s=(nodetype*)malloc(sizeof(nodetype));s->data=d;s->next=NULL;t->next=s;t=s;}i++;}returnh;}voidsat(nodetype*h,inta[]){nodetype*p=h;while(p!=NULL){a[p->data]++;p=p->n8、ext;}}voidmain(){inta[N+1],i;for(i=0;i9、便灵活运用。1.2熟练掌握栈和有关队列的各种操作和应用。2.实验内容2.1设一个算术表达式包括圆括号,方括号和花括号三种括号,编写一个算法判断其中的括号是否匹配。3.实验代码2.1代码:#include#include#include#defineNULL0typedefstructlist{charstr;structlist*next;}list;voidpush(char,list*);intpop(char.list*);voiddeal(char*str);main(void){charstr[10、20];printf("
3、0;idata=x;s->next=L;L=s;}else{p=L;j=1;while(p&&jnext;}if(p
4、
5、j>i
6、-1)returnerror;s=(Linklist)malloc(sizeof(Lnode));s->data=x;s->next=p->next;p->next=s;}}}2.3代码:typedefintelemtypetypedefstructlinknode{elemtypedata;structlinknode*next;}nodetype;16数据结构实验报告nodetype*create(){elemtyped;nodetypeh=NULL,*s,*t;inti=1;printf("建立单链表:");while(1){printf("输入第%d
7、个结点数据域",i);scanf("%d",&d);if(d==0)break;if(i==1){h=(nodetype*)malloc(sizeof(nodetype));h->data=d;h->next=NULL;t=h;}else{s=(nodetype*)malloc(sizeof(nodetype));s->data=d;s->next=NULL;t->next=s;t=s;}i++;}returnh;}voidsat(nodetype*h,inta[]){nodetype*p=h;while(p!=NULL){a[p->data]++;p=p->n
8、ext;}}voidmain(){inta[N+1],i;for(i=0;i9、便灵活运用。1.2熟练掌握栈和有关队列的各种操作和应用。2.实验内容2.1设一个算术表达式包括圆括号,方括号和花括号三种括号,编写一个算法判断其中的括号是否匹配。3.实验代码2.1代码:#include#include#include#defineNULL0typedefstructlist{charstr;structlist*next;}list;voidpush(char,list*);intpop(char.list*);voiddeal(char*str);main(void){charstr[10、20];printf("
9、便灵活运用。1.2熟练掌握栈和有关队列的各种操作和应用。2.实验内容2.1设一个算术表达式包括圆括号,方括号和花括号三种括号,编写一个算法判断其中的括号是否匹配。3.实验代码2.1代码:#include#include#include#defineNULL0typedefstructlist{charstr;structlist*next;}list;voidpush(char,list*);intpop(char.list*);voiddeal(char*str);main(void){charstr[
10、20];printf("
此文档下载收益归作者所有