002数据结构练习-线性表

1.定义:

线性表是n个数据元素的有限序列。数据元素性质相同,物理存储位置相邻;
Loc(ai) = Loc(a1)+(i-1)*l

2.操作

(1)定义线性表:

#define LIST_INIT_SIZE 100 //初始化存储空间大小
#define INCREMENT 10 //分配存储空间增量
typedef struct{
ElemType *elem;//存储空间基址
int length;//当前长度
int listsize;//当前分配的存储容量
}SqList;

(2)初始化线性表:

Status Init_List_Sq(SqList &L){
//构造一个空的线性表
L.elem = (ElemType *) malloc(INIT_LIST_SIZE *sizeof(ElemType));
if(!L.elem){
exit(OVERFLOW);
}
L.length=0;
L.size = INIT_LIST_SIZE;
return OK;
}

(3)线性表插入操作:

Status ListInsert_Sq(SqList &L,int i,ElemType e){
//检查插入位置合法性
if(i<1 || i>L.length+1){
return error;
}
if(L.length>=L.size){
newBase =(ElemType *) remalloc(L.elem,(L.size+INCREMENT)*sizeof(Elemtype));
if(!newBase){
exit(OVERFLOW);
}
L.elem = newBase;
L.size += INCREMENT;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值