线性表的基本操作实验报告Word下载.docx
- 文档编号:20011947
- 上传时间:2023-01-15
- 格式:DOCX
- 页数:12
- 大小:154.40KB
线性表的基本操作实验报告Word下载.docx
《线性表的基本操作实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《线性表的基本操作实验报告Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
结构体链表SqList,其中包含
ElemType*elem;
intlength;
intlistsize;
2.写出各模块的伪码算法;
插入数据:
StatusListInsert(Sqlist&
L,inti,ElemTypee)
{
int*q=&
(L.elem[i-1]);
ElemType*newbase,*p;
if(i<
1||i>
(L.length+1))
returnERROR;
if(L.length>
=L.listsize)
{
newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));
if(!
newbase)exit(OVERFLOW);
L.elem=newbase;
L.listsize+=LISTINCREMENT;
}
for(p=&
(L.elem[L.length-1]);
p>
=q;
--p)
*(p+1)=*p;
*q=e;
++L.length;
returnOK;
}
删除数据:
StatusListDelete(Sqlist&
1||(i>
L.length))
ElemType*p,*q;
p=&
e=*p;
q=L.elem+L.length-1;
for(++p;
p<
++p)
*(p-1)=*p;
--L.length;
求表长:
intListLength(SqlistL)
returnL.length;
StatusGetElem(Sqlist&
L,inti)
0||i>
L.length)
exit(OVERFLOW);
returnL.elem[i-1];
查找数据:
intLocationElem(SqlistL,ElemTypeelement)
inti=0;
for(i=0;
i<
L.length;
i++)
if(L.elem[i]==element)
printf("
第%d个元素为%d.\n"
i+1,element);
returni;
3.
画出函数的调用关系图。
四、使用说明及测试结果
1输入初始元素值:
2删除数据
删除数据1
3、插入数据
插入数据1
4、查找数据
查找数据3
5、求长度
0退出
六、源程序
#include<
stdio.h>
stdlib.h>
#defineTRUE1
#defineFALSE0
#defineOK1
#defineERROR0
#defineINFEASIBLE-1
#defineOVERFLOW-2
#defineLIST_INIT_SIZE5
#defineLISTINCREMENT1
typedefintStatus;
typedefintElemType;
typedefstruct
{
ElemType*elem;
//存储空间基址
//当前长度
intlistsize;
//当前分配的存储容量
}Sqlist;
staticSqlistL;
staticElemTypeelement;
StatusInitList(Sqlist&
L)
L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
L.elem)exit(OVERFLOW);
L.length=0;
L.listsize=LIST_INIT_SIZE;
StatusDestroyList(Sqlist&
if(L.elem==NULL)
else
free(L.elem);
StatusClearList(Sqlist&
exit(ERROR);
inti;
ElemType*p_elem=L.elem;
for(i=0;
*L.elem=NULL;
L.elem++;
L.elem=p_elem;
StatusListEmpty(SqlistL)
if(*L.elem!
=0)
returnFALSE;
returnTRUE;
voidPrintList(SqlistL)
for(inti=0;
printf("
%d"
L.elem[i]);
//***********************主函数******************************//
voidmain()
inti;
SqlistLa;
InitList(La);
请输入%d个初始元素值:
"
LIST_INIT_SIZE);
=4;
{scanf("
%d"
&
La.elem[i]);
La.length++;
存入的结果为:
);
PrintList(La);
menu:
\n\n*************请选择要对线性表进行的操作:
*************\n1显示,2删除,3插入,4查找,5比较,6长度,0退出\n请选择操作序号:
intflag;
scanf("
flag);
switch(flag)
case1:
\n"
break;
case2:
\n请输入要删除元素的位置:
i);
ElemTypee;
ListDelete(La,i,e);
改变后的线性表:
case3:
{printf("
\n请输入要插入的元素:
e);
请输入要插入的位置:
ListInsert(La,i,e);
case4:
\n请输入要查找元素的位置:
e=GetElem(La,i);
第%d个元素的值是:
%d\n"
i,e);
case5:
intm;
\n请输入比较的元素:
m);
LocationElem(La,m);
case6:
\n线性表元素个数为:
ListLength(La));
default:
\n输入的选择不存在!
case0:
\n谢谢使用!
return;
gotomenu;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性表的基本操作 实验报告 线性 基本 操作 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)