- 2
- 0
- 约1.27千字
- 约 3页
- 2018-11-26 发布于河南
- 举报
ch2补充
线性表的动态分配顺序存储结构(用一维数组)
#define LIST_INIT_SIZE 100
#define LISTINCREAMENT 10
typedef struct{
ElemType *elem;
int length;
int listsize;
}SqList
顺序线性表的操作
顺序表容易实现访问操作,可随机存取元素。但插入和删除操作主要是移动元素。
⑴初始化操作
算法思想:构造一个空表。设置表的起始位置、表长及可用空间。
算法:
Status InitList_Sq(SqList L){
L.elem=(ElemType )malloc(LIST_INIT_SIZE*sizeof(ElemType));
If (!L.elem)exit(OVERFLOW);
L.length=0;
L.listsize= LIST_INIT_SIZE;
Return OK;
}//InitList_Sq
⑵插入操作
算法思想:在第i个位置上插入一个新元素,将第n 至(i+1)个元素逐一向后移动一个位置。
算法:
Status ListInsert_Sq(SqList L, int i, ElemType e )
if (i1||iL.length+1) return ERROR;
if (L.length=L.listsize){
newbase=(E
原创力文档

文档评论(0)