;
}
for(i = L- >size - 1; i >= 0; i--){
L- >list[i + 1] = L ->list[i];
}
L- >list[0] = x;
L- >size ++;
return;
}
/* 10.向线性表L的表尾插入元素x */
void insertLastList(struct List *L, elemType x)
{
if(L- >size == L ->maxSize){ /* 重新分配更大的存储空间 */
againMalloc(L);
}
L- >list[L->size] = x; /* 把x插入到表尾 */
L- >size++; /* 线性表的长度增加1 */
return;
}
/* 11.向线性表L中第pos个元素位置插入元素x,若插入成功返回1,否则返回0 */
int insertPosList(struct List *L, int pos, elemType x)
{
int i;
if(pos < 1 || pos > L->size + 1){ /* 若pos越界则插入失败 */
return 0;
}
if(L- >size == L->maxSize){ /* 重新分配更大的存储空间 */
againMalloc(L);
}
for(i = L- >size - 1; i >= pos - 1; i--){
L- >list[i + 1] = L->list[i];
}
L- >list[pos - 1] = x;
L- >size++;
return 1;
}
/* 12.向有序线性表L中插入元素x, 使得插入后仍然有序*/
void insertOrderList(struct List *L, elemType x)
{
int i, j;
/* 若数组空间用完则重新分配更大的存储空间 */
if(L- >size == L->maxSize){
againMalloc(L);
}
/* 顺序查找出x的插入位置 */
for(i = 0; i < L->size; i++){
if(x < L->list[i]){
break;
}
}
/* 从表尾到下标i元素依次后移一个位置, 把i的位置空出来&