资源描述:
《大数据结构-实验1-线性表的基本操作.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验1线性表的基本操作一、需求分析目的:掌握线性表运算与存储概念,并对线性表进行基本操作。1.初始化线性表;2.向链表中特定位置插入数据;3.删除链表中特定的数据;4.查找链表中的容;5.销毁单链表释放空间;二、概要设计l基础题主要函数:初始化线性表InitList(List*L,intms)向顺序表指定位置插入元素InsertList(List*L,intitem,intrc)删除指定元素值的顺序表记录DeleteList1(List*L,intitem)删除指定位置的顺序表记录DeleteList2(List*L,intrc)查找顺序表中的元素FindList(ListL,
2、intitem)输出顺序表元素OutputList(ListL)实验步骤:1,初始化顺序表2,调用插入函数3,在顺序表中查找指定的元素4,在顺序表中删除指定的元素5,在顺序表中删除指定位置的元素6,遍历并输出顺序表l提高题要求以较高的效率实现删除线性表中元素值在x到y(x和y自定义)之间的所有元素方法:按顺序取出元素并与x、y比较,若小于x且大于y,则存进新表中。编程实现将两个有序的线性表进行合并,要求同样的数据元素只出现一次。方法:分别按顺序取出L1,L2的元素并进行比较,若相等则将L1元素放进L中,否则将L1,L2元素按顺序放进L。l本程序主要包含7个函数主函数main()
3、初始化线性表InitList(List*L,intms)向顺序表指定位置插入元素InsertList(List*L,intitem,intrc)删除指定元素值的顺序表记录DeleteList1(List*L,intitem)删除指定位置的顺序表记录DeleteList2(List*L,intrc)查找顺序表中的元素FindList(ListL,intitem)输出顺序表元素OutputList(ListL)提高题的程序voidCombine(List*L1,List*L2,List*L)voidDeleteList3(List*L,intx,inty)一、详细设计初始化线性表I
4、nitList(List*L,intms)voidInitList(List*L,intms){L->list=(int*)malloc(LIST_INIT_SIZE*sizeof(int));L->size=0;L->MAXSIZE=LIST_INIT_SIZE;}向顺序表指定位置插入元素InsertList(List*L,intitem,intrc)voidInsertList(List*L,intitem,intrc){inti;if(L->size>=L->MAXSIZE){L->list=(int*)realloc(L->list,(L->MAXSIZE+LISTI)
5、*sizeof(int));L->MAXSIZE+=LISTI;}for(i=L->size-1;i>=rc-1;i--){L->list[i+1]=L->list[i];}L->list[rc-1]=item;L->size++;}删除指定元素值的顺序表记录DeleteList1(List*L,intitem)voidDeleteList1(List*L,intitem){inti,j;for(i=0;isize;i++){if(L->list[i]==item){break;}}for(j=i;jsize;j++){L->list[j]=L->list[j+
6、1];}L->size--;}删除指定位置的顺序表记录DeleteList2(List*L,intrc)voidDeleteList2(List*L,intrc){inti;for(i=rc-1;isize;i++){L->list[i]=L->list[i+1];}L->size--;}查找顺序表中的元素voidFindList(List*L,intitem){inti;for(i=0;isize;i++){if(L->list[i]==item)break;}if(L->size==i){printf("找不到");}else{printf("第%d个元
7、素为%d",i+1,item);}}输出顺序表元素OutputList(ListL)voidOutputList(List*L){inti;for(i=0;isize;i++){printf("%d",L->list[i]);}printf("");}删除x到y之间的所有元素voidDeleteList3(List*L,intx,inty){inti,j,temp;if(x>y){temp=x;x=y;y=temp;}for(i=0,j=0;isize;i++){if