Yesterday

#include<stdio.h>

#include<math.h>

#define ElemType int //假设数据元素均为整数

int equal(int e1,int e2);

void display(int e);

//顺序表的表示与实现

//变长型顺序表存储结构定义

#define LIST_INIT_SIZE 50

#define LIST_INCREMENT 10

typedef struct{

ElemType *data;//data指向分配的空间首地址

int Length;//顺序表的长度,表中元素个数

int Listsize;//顺序表存储空间数

}SqList;

//顺序表基本操作

//初始化顺序表

void InitSqList(SqList *L)

{

L->data=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType)); //初始化时,L中没有元素

L->Length=0;

L->Listsize=LIST_INIT_SIZE;

}

//在指定位置i插入元素e,插入超过返回1,否则返回0

int ListInsert(SqList *L,int oi,ElemType e)

{

if(L->Length==L->Listsize)

{

L->data=(ElemType*)realloc(L->data,(L->Listsize+LIST_INCREMENT)*sizeof(ElemType));

if(L->data==NULL)

return 0;

L->Listsize=L->Listsize+LIST_INCREMENT;

}

if(i<1||i>L->Length-1)return 0;

int j;

for(j=L->Length-1;j>=i-1;j--)

{

L->data[j-1]=L->data[j];

}

L->data[i-1]=e;

L->Length++;

return 1;

}

int ListDele(SqList *L,int i,ElemType *e)

{

if(i<1||i>L->Length-1)return 0;

if(L->Length==0) return 0;

if(i<1||i>L->Length-1)return 0;

if(L->Length==0) return 0;

int j;

*e=L->data[i-1;

for(j=i;j<=L->Length-1;j++)

{

L->data[j-1]=L->data[j];

}

L->Length--;

return 1;

}

int GetElem(SqList L,int i,ElemType *e)

{

if(i<1||i>L.Length)return 0;

*e=L.data[i=1];

return 1;

}

void ListTranerse(SqList L,void(*visit)(ElemType))

{

int i;

for(i=0;i<=L.Length-1;i++)

{

visit(L.data[i]);

}

}

int LocateElem(SqList L,ElemType e,int(*compare)(ElemType ,ElemType))

{

int i;

for(i=0;i<L.Length;i++)

{

if(compare(L.data[i],e)==1)

return i+1;

}

return 0;

}

void ClearList(SqList *L)

{

L->Length=0;

}

int main(void)

{

return 0;

}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值