顺序表的基本操作

下面介绍顺序表的基本操作,如果有错请多多指教!!


struct SqLsit
{
elemType *elem;
//储存空间基址(elemType表示你要的基址的类型比如int、char)
int lenght;//当前长度
int maxSize;//最大长度
};

bool initList(SqLsit &L, int sz)//初始化一个顺序表
{
if(sz<0){return false ;}
L.elem=(elemType *)malloc(sizeof(elemTyoe));
L.maxSize=sz;
L.lenght=0;
return true;
}
bool insert(SqList & L, int i, elemType &s)
{   //i表示顺序表中的第i个元素
if(i<1  ||  L.lenght+1 ){return false;}
elemType *p=L.elem+L.lengt-1;//表尾
elemType *q=L.elem+i-1;//第i个元素
for(; p>=q; p--){*(p+1)=*p;}//每一个元素向后挪
*q=s;//在第i个位插入元素
L.lenght++;
return true;
}
bool Delete(SqLsit &L, int i)
{// 删除第i个元素
if(i<1 || i>L.lenght){return false ;}
elemType *p=L.elem+i-1;//第i个元素
elemType *q=L.elem+i;//第i+1个元素
for(; q<L.elem+L.lenght-1; ){*(p++)=*(q++)}//每一个向前挪
L.lenght--;
return true;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值