欢迎来到天天文库
浏览记录
ID:48484530
大小:83.00 KB
页数:19页
时间:2020-02-04
《数据结构实验1.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.专业.专注.一、实验目的1、学习线性表的顺序表示和实现,会进行顺序表的插入、删除、合并2、学习线性表的链式表示和实现,会进行链表的插入、删除、合并二、实验内容1、编程实现:(1)在顺序表ajcniydu的第三个位置插入p。(2)删除顺序表ajcniydu第三个位置的元素。2、编程实现将顺序表acdijtuy和cfklns合并。3、编程实现:(1)在链表asdfghjkl的第四个位置插入z。(2)删除顺序表asdfghjkl第四个位置元素。4、编程实现两个有序链表adfi和cefi的合并。三、实验步骤1.+2.代码:#include#include2、lloc.h>typedefcharElemType;typedefstruct{ElemType*elem;intlength;.word可编辑..专业.专注.intlistsize;}SqList;//定义结构体voidInitList(SqList&L){L.elem=(ElemType*)malloc(10*sizeof(ElemType));L.length=0;L.listsize=10;}//初始化voidCreateList(SqList&L,intn){printf("输入字符串:");inti=0;for(i;i3、L.elem[i]);L.length++;}.word可编辑..专业.专注.}//赋值voidShow(SqListL){inti=0;printf("字符串:");for(i;i4、5、i>L.length+1)printf("插入位置不合法!");else{ElemType*q=&(L.elem[i-1]);for(p=&(L.elem[L.len6、gth-1]);p>=q;--p)*(p+1)=*p;*q=e;.word可编辑..专业.专注.++L.length;}}//插入intListDelete(SqList&L,inti){if(i>L.length7、8、i<=0)printf("位置不合法");else{intj=i-1;for(j;j9、=La.elem;.word可编辑..专业.专注.pb=Lb.elem;pa_last=pa+La.length-1;pb_last=pb+Lb.length-1;Lc.listsize=Lc.length=La.length+Lb.length;pc=Lc.elem=(ElemType*)malloc(Lc.length*sizeof(ElemType));while(pa<=pa_last&&pb<=pb_last){if(*pa>=*pb)*pc++=*pa++;else*pc++=*pb++;}while(pa<=pa_last)*pc++=*pa++;while10、(pb<=pb_last)*pc++=*pb++;}//合并intmain(){.word可编辑..专业.专注.SqListLa;InitList(La);CreateList(La,8);ElemTypee;inti;printf("输入插入位置及字符:");scanf("%d%c",&i,&e);ListInsert(La,i,e);Show(La);printf("");fflush(stdin);SqListLb;InitList(Lb);CreateList(Lb,8);Show(Lb);printf("输入删除位置:");intj;scanf("%d",&11、j);.word可编辑..专业.专注.ListDelete(Lb,j);Show(Lb);printf("");fflush(stdin);SqListL1,L2,L3;InitList(L1);InitList(L2);CreateList(L1,8);Show(L1);fflush(stdin);CreateList(L2,6);Show(L2);Mergelist(L1,L2,L3);Show(L3);}.word可编辑..专业.专注.3.+4.代码:#include#include
2、lloc.h>typedefcharElemType;typedefstruct{ElemType*elem;intlength;.word可编辑..专业.专注.intlistsize;}SqList;//定义结构体voidInitList(SqList&L){L.elem=(ElemType*)malloc(10*sizeof(ElemType));L.length=0;L.listsize=10;}//初始化voidCreateList(SqList&L,intn){printf("输入字符串:");inti=0;for(i;i3、L.elem[i]);L.length++;}.word可编辑..专业.专注.}//赋值voidShow(SqListL){inti=0;printf("字符串:");for(i;i4、5、i>L.length+1)printf("插入位置不合法!");else{ElemType*q=&(L.elem[i-1]);for(p=&(L.elem[L.len6、gth-1]);p>=q;--p)*(p+1)=*p;*q=e;.word可编辑..专业.专注.++L.length;}}//插入intListDelete(SqList&L,inti){if(i>L.length7、8、i<=0)printf("位置不合法");else{intj=i-1;for(j;j9、=La.elem;.word可编辑..专业.专注.pb=Lb.elem;pa_last=pa+La.length-1;pb_last=pb+Lb.length-1;Lc.listsize=Lc.length=La.length+Lb.length;pc=Lc.elem=(ElemType*)malloc(Lc.length*sizeof(ElemType));while(pa<=pa_last&&pb<=pb_last){if(*pa>=*pb)*pc++=*pa++;else*pc++=*pb++;}while(pa<=pa_last)*pc++=*pa++;while10、(pb<=pb_last)*pc++=*pb++;}//合并intmain(){.word可编辑..专业.专注.SqListLa;InitList(La);CreateList(La,8);ElemTypee;inti;printf("输入插入位置及字符:");scanf("%d%c",&i,&e);ListInsert(La,i,e);Show(La);printf("");fflush(stdin);SqListLb;InitList(Lb);CreateList(Lb,8);Show(Lb);printf("输入删除位置:");intj;scanf("%d",&11、j);.word可编辑..专业.专注.ListDelete(Lb,j);Show(Lb);printf("");fflush(stdin);SqListL1,L2,L3;InitList(L1);InitList(L2);CreateList(L1,8);Show(L1);fflush(stdin);CreateList(L2,6);Show(L2);Mergelist(L1,L2,L3);Show(L3);}.word可编辑..专业.专注.3.+4.代码:#include#include
3、L.elem[i]);L.length++;}.word可编辑..专业.专注.}//赋值voidShow(SqListL){inti=0;printf("字符串:");for(i;i4、5、i>L.length+1)printf("插入位置不合法!");else{ElemType*q=&(L.elem[i-1]);for(p=&(L.elem[L.len6、gth-1]);p>=q;--p)*(p+1)=*p;*q=e;.word可编辑..专业.专注.++L.length;}}//插入intListDelete(SqList&L,inti){if(i>L.length7、8、i<=0)printf("位置不合法");else{intj=i-1;for(j;j9、=La.elem;.word可编辑..专业.专注.pb=Lb.elem;pa_last=pa+La.length-1;pb_last=pb+Lb.length-1;Lc.listsize=Lc.length=La.length+Lb.length;pc=Lc.elem=(ElemType*)malloc(Lc.length*sizeof(ElemType));while(pa<=pa_last&&pb<=pb_last){if(*pa>=*pb)*pc++=*pa++;else*pc++=*pb++;}while(pa<=pa_last)*pc++=*pa++;while10、(pb<=pb_last)*pc++=*pb++;}//合并intmain(){.word可编辑..专业.专注.SqListLa;InitList(La);CreateList(La,8);ElemTypee;inti;printf("输入插入位置及字符:");scanf("%d%c",&i,&e);ListInsert(La,i,e);Show(La);printf("");fflush(stdin);SqListLb;InitList(Lb);CreateList(Lb,8);Show(Lb);printf("输入删除位置:");intj;scanf("%d",&11、j);.word可编辑..专业.专注.ListDelete(Lb,j);Show(Lb);printf("");fflush(stdin);SqListL1,L2,L3;InitList(L1);InitList(L2);CreateList(L1,8);Show(L1);fflush(stdin);CreateList(L2,6);Show(L2);Mergelist(L1,L2,L3);Show(L3);}.word可编辑..专业.专注.3.+4.代码:#include#include
4、
5、i>L.length+1)printf("插入位置不合法!");else{ElemType*q=&(L.elem[i-1]);for(p=&(L.elem[L.len
6、gth-1]);p>=q;--p)*(p+1)=*p;*q=e;.word可编辑..专业.专注.++L.length;}}//插入intListDelete(SqList&L,inti){if(i>L.length
7、
8、i<=0)printf("位置不合法");else{intj=i-1;for(j;j9、=La.elem;.word可编辑..专业.专注.pb=Lb.elem;pa_last=pa+La.length-1;pb_last=pb+Lb.length-1;Lc.listsize=Lc.length=La.length+Lb.length;pc=Lc.elem=(ElemType*)malloc(Lc.length*sizeof(ElemType));while(pa<=pa_last&&pb<=pb_last){if(*pa>=*pb)*pc++=*pa++;else*pc++=*pb++;}while(pa<=pa_last)*pc++=*pa++;while10、(pb<=pb_last)*pc++=*pb++;}//合并intmain(){.word可编辑..专业.专注.SqListLa;InitList(La);CreateList(La,8);ElemTypee;inti;printf("输入插入位置及字符:");scanf("%d%c",&i,&e);ListInsert(La,i,e);Show(La);printf("");fflush(stdin);SqListLb;InitList(Lb);CreateList(Lb,8);Show(Lb);printf("输入删除位置:");intj;scanf("%d",&11、j);.word可编辑..专业.专注.ListDelete(Lb,j);Show(Lb);printf("");fflush(stdin);SqListL1,L2,L3;InitList(L1);InitList(L2);CreateList(L1,8);Show(L1);fflush(stdin);CreateList(L2,6);Show(L2);Mergelist(L1,L2,L3);Show(L3);}.word可编辑..专业.专注.3.+4.代码:#include#include
9、=La.elem;.word可编辑..专业.专注.pb=Lb.elem;pa_last=pa+La.length-1;pb_last=pb+Lb.length-1;Lc.listsize=Lc.length=La.length+Lb.length;pc=Lc.elem=(ElemType*)malloc(Lc.length*sizeof(ElemType));while(pa<=pa_last&&pb<=pb_last){if(*pa>=*pb)*pc++=*pa++;else*pc++=*pb++;}while(pa<=pa_last)*pc++=*pa++;while
10、(pb<=pb_last)*pc++=*pb++;}//合并intmain(){.word可编辑..专业.专注.SqListLa;InitList(La);CreateList(La,8);ElemTypee;inti;printf("输入插入位置及字符:");scanf("%d%c",&i,&e);ListInsert(La,i,e);Show(La);printf("");fflush(stdin);SqListLb;InitList(Lb);CreateList(Lb,8);Show(Lb);printf("输入删除位置:");intj;scanf("%d",&
11、j);.word可编辑..专业.专注.ListDelete(Lb,j);Show(Lb);printf("");fflush(stdin);SqListL1,L2,L3;InitList(L1);InitList(L2);CreateList(L1,8);Show(L1);fflush(stdin);CreateList(L2,6);Show(L2);Mergelist(L1,L2,L3);Show(L3);}.word可编辑..专业.专注.3.+4.代码:#include#include
此文档下载收益归作者所有