- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
/*文件名:algo2-1.cpp*/
#includestdio.h
#includemalloc.h
#defineMaxSize50
typedefcharElemType;
typedefstruct
{
ElemTypeelem[MaxSize];
intlength;
}SqList;
voidInitList(SqList*L)
{
L=(SqList*)malloc(sizeof(SqList));
L-length=0;
}
voidDestroyList(SqList*L)
{
free(L);
}
intListEmpty(SqList*L)
{
return(L-length==0);
}
intListLength(SqList*L)
{
return(L-length);
}
voidDispList(SqList*L)
{
inti;
if(ListEmpty(L))return;
for(i=0;iL-length;i++)
}
intGetElem(SqList*L,inti,ElemTypee)
{
if(i1||iL-length)
return0;
e=L-elem[i-1];
return1;
}
intLocateElem(SqList*L,ElemTypee)
{
inti=0;
while(iL-lengthL-elem[i]!=e)i++;
if(i=L-length)
return0;
else
returni+1;
}
intListInsert(SqList*L,inti,ElemTypee)
{
intj;
if(i1||iL-length+1)
return0;
i--;/*将顺序表位序转化为elem下标*/
for(j=L-length;ji;j--)/*将elem[i]及后面元素后移一个位置*/
L-elem[j]=L-elem[j-1];
L-elem[i]=e;
L-length++;/*顺序表长度增1*/
return1;
}
intListDelete(SqList*L,inti,ElemTypee)
{
intj;
if(i1||iL-length)
return0;
i--;/*将顺序表位序转化为elem下标*/
e=L-elem[i];
for(j=i;jL-length-1;j++)
L-elem[j]=L-elem[j+1];
L-length--;
return1;
}/*文件名:algo2-2.cpp*/
#includestdio.h
#includemalloc.h
typedefcharElemType;
typedefstructLNode/*定义单链表结点类型*/
{
ElemTypedata;
structLNode*next;
}LinkList;
voidInitList(LinkList*L)
{
L=(LinkList*)malloc(sizeof(LinkList));/*创建头结点*/
L-next=NULL;
}
voidDestroyList(LinkList*L)
{
LinkList*p=L,*q=p-next;
while(q!=NUL
文档评论(0)