<<数据结构2.2>>线性表顺序存储结构算法汇集

线性表L的初始化(参数用引用)

Status InitList_Sq(SqList &L){
   
L.elem=new ElemType[MAXSIZE];//为顺序表分配空间,获取基地址
if(!L.elem)exit(OVERFLOW);//异常处理
L.length=0;
L.listsiaze=LIST_INIT_SIZE;
return OK;
}

销毁线性表

void DestroyList(SqList &L)
{
   if(L.elem) 
delete L.elem;//释放存储空间
}

清空线性表

void ClearList(SqList &L){
   
L.length=0;//将线性表长度置零
}

判断线性表是否为空

int ListEmpty (Sqlist L){
   
if(L.length==0) return 1;
else return 0;
}

求线性表长度

int Listlength(Sqlist L){
   
return (L.length);
}

顺序表的取值(根据位置i获取相应位置侯后的数据元素的值)

int GetElem(SqList L,int i,Elem Type &e)
{
    
if(i<1||i>L.length) return ERROR;//判断i值是否合理,若不合理,返回ERROR
e=L.elem[i-1];
return ok;
}

顺序表的查找(在线性表L中查找与指定值e相同的数据元素的位置)

- 从表的一端开始,逐个进行记录的关键字和给定值的比较。找到,返回该元素的位置序号,未找到,返回0.

int LocateElem(SqList L,ElemType e){
   
//在线性表L中查找值为e的数据元素,返回其序号(是第几个元素)
for(i=0;i<L.Length;i++)
	if(L.elem[i]==e)return i+1;//查找成功返回序号</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值