- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
/*文件名:algo2-1.cpp*/
#include stdio.h
#include malloc.h
#define MaxSize 50
typedef char ElemType;
typedef struct
{
ElemType elem[MaxSize];
int length;
} SqList;
void InitList(SqList *L)
{
L=(SqList *)malloc(sizeof(SqList));
L-length=0;
}
void DestroyList(SqList *L)
{
free(L);
}
int ListEmpty(SqList *L)
{
return(L-length==0);
}
int ListLength(SqList *L)
{
return(L-length);
}
void DispList(SqList *L)
{
int i;
if (ListEmpty(L)) return;
for (i=0;iL-length;i++)
printf(%c,L-elem[i]);
printf(\n);
}
int GetElem(SqList *L,int i,ElemType e)
{
if (i1 || iL-length)
return 0;
e=L-elem[i-1];
return 1;
}
int LocateElem(SqList *L, ElemType e)
{ int i=0;
while (iL-length L-elem[i]!=e) i++;
if (i=L-length)
return 0;
else
return i+1;
}
int ListInsert(SqList *L,int i,ElemType e)
{
int j;
if (i1 || iL-length+1)
return 0;
i--; /*将顺序表位序转化为 elem下标*/
for (j=L-length;ji;j--) /*将 elem[i]及后面元素后移一个位置*/
L-elem[j]=L-elem[j-1];
L-elem[i]=e;
L-length++; /*顺序表长度增 1*/
return 1;
}
int ListDelete(SqList *L,int i,ElemType e)
{
int j;
if (i1 || iL-length)
return 0;
i--; /*将顺序表位序转化为 elem下标*/
e=L-elem[i];
for (j=i;jL-length-1;j++)
L-elem[j]=L-elem[j+1];
L-length--;
return 1;
}/*文件名:algo2-2.cpp*/
#include stdio.h
#include malloc.h
typedef char ElemType;
typedef struct LNode /*定义单链表结点类型*/
{
ElemType data;
struct LNode *next;
} LinkList;
void InitList(LinkList *L)
{
L=(LinkList *)malloc(sizeof(LinkList)); /*创建头结点*/
L-next=NULL;
} void DestroyList(LinkList *L)
{
LinkList *p=L,*q=p-next;
while (q!=NULL)
{
free(p);
p=q;
q=p-next;
}
free(p);
}
int ListEmpty(LinkList *L)
{
return(L-next==NULL);
}
int ListLength(LinkList *L)
{
LinkList *p=L;int i=0;
while (p-next!=NULL)
{
i++;
p=p-next;
}
return(i);
}
void DispList(LinkList *L)
{
LinkList *p=L-next;
while (p!=NULL)
{
printf(%c,p-data);
p=p-next;
文档评论(0)