欢迎来到天天文库
浏览记录
ID:34251768
大小:435.00 KB
页数:14页
时间:2019-03-04
《顺序表操作例子》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验报告实验项目:顺序表基本操作年级:10级专业:信息102本组学生:崔瑞雪、历红影、梁静琦、王芳实验日期:2012年3月26日一、实验目的1、熟悉C语言的上机环境,掌握C语言的基本结构。2、学会定义线性表的顺序存储结构,并加深对顺序表相关基本操作的了解。3、用C语言实现顺序表的基本操作。二、实验问题描述该程序的功能是对元素类型为整型的顺序表进行一些操作。该程序包括一个头文件,用来存储定义的顺序表结构类型以及对顺序表进行各种操作的函数声明;第二个为顺序表操作的实现文件,用来存储每一种顺序表操作的具体的函数定义以及主函数。实现部分/*定义ElemType为int类型*/typede
2、fintElemType;/*顺序表存储空间的总分配量*/#defineMAXSIZE100#defineFALSE0#defineTRUE1/*顺序存储类型*/typedefstruct{ElemTypedata[MAXSIZE];/*存放线性表的数组*/intlast;/*last是顺序表的长度*/}SeqList;/*初始化顺序表*/SeqListSeqListInit(){}/*清空顺序表*/SeqListListClear(SeqListL){}/*求顺序表长度*/intListLast(SeqListL){}/*检查顺序表是否为空*/intListEmpty(SeqL
3、istL){}/*检查顺序表是否为满*/intListFull(SeqListL){}/*遍历顺序表*/voidListTraverse(SeqListL){}/*从顺序表中查找元素*/ElemTypeListGet(SeqListL,inti){}/*从顺序表中查找与给定元素值相同的元素在顺序表中的位置*/intListLocate(SeqListL,ElemTypex){}/*向顺序表中插入元素*/SeqListListInsert(SeqListL,inti,ElemTypex){}/*从顺序表中删除元素*/SeqListListDelete(SeqListL,inti){
4、}一、实验步骤1、实验问题分析运用C语言实现顺序表的相关操作,将会用到for循环,if、else语句,指针,宏定义。2、功能(函数)设计,函数原型,完成的工作,功能。/*初始化顺序表*/SeqListSeqListInit(){SeqListL;L.last=0;returnL;}/*清空顺序表*/SeqListListClear(SeqListL){if(L.last!=0)L.last=0;returnL;}/*求顺序表长度*/intListLast(SeqListL){returnL.last;}/*检查顺序表是否为空*/intListEmpty(SeqListL){if(
5、L.last==0)returnTRUE;elsereturnFALSE;}/*检查顺序表是否为满*/intListFull(SeqListL){if(L.last==MAXSIZE)returnTRUE;elsereturnFALSE;}/*遍历顺序表*/voidListTraverse(SeqListL){inti;ElemType*p;if(ListEmpty(L)==1){printf("顺序表是空表");exit(0);}p=L.data;for(i=0;i6、stGet(SeqListL,inti){if(ListEmpty(L)==1){printf("顺序表是空表");exit(0);}elsereturnL.data[i-1];}/*从顺序表中查找与给定元素值相同的元素在顺序表中的位置*/intListLocate(SeqListL,ElemTypex){intj;for(j=0;j7、(L)==1){printf("顺序表已满");exit(0);}if(i<18、9、i>L.last+1){printf("插入位置错");exit(0);}for(j=L.last-1;j>=i-1;j--)L.data[j+1]=L.data[j];L.data[i-1]=x;L.last++;return(L);}/*从顺序表中删除元素*/SeqListListDelete(SeqListL,inti){intj;if(ListEmpty(L)==1){printf(
6、stGet(SeqListL,inti){if(ListEmpty(L)==1){printf("顺序表是空表");exit(0);}elsereturnL.data[i-1];}/*从顺序表中查找与给定元素值相同的元素在顺序表中的位置*/intListLocate(SeqListL,ElemTypex){intj;for(j=0;j7、(L)==1){printf("顺序表已满");exit(0);}if(i<18、9、i>L.last+1){printf("插入位置错");exit(0);}for(j=L.last-1;j>=i-1;j--)L.data[j+1]=L.data[j];L.data[i-1]=x;L.last++;return(L);}/*从顺序表中删除元素*/SeqListListDelete(SeqListL,inti){intj;if(ListEmpty(L)==1){printf(
7、(L)==1){printf("顺序表已满");exit(0);}if(i<1
8、
9、i>L.last+1){printf("插入位置错");exit(0);}for(j=L.last-1;j>=i-1;j--)L.data[j+1]=L.data[j];L.data[i-1]=x;L.last++;return(L);}/*从顺序表中删除元素*/SeqListListDelete(SeqListL,inti){intj;if(ListEmpty(L)==1){printf(
此文档下载收益归作者所有