nbsp;*/
for(j = L- >size - 1; j >= i; j--)
L- >list[j+1] = L->list[j];
/* 把x值赋给下标为i的元素 */
L- >list[i] = x;
/* 线性表长度增加1 */
L- >size++;
return;
}
/* 13.从线性表L中删除表头元素并返回它,若删除失败则停止
程序运行 */
elemType deleteFirstList(struct List *L)
{
elemType temp;
int i;
if(L - >size == 0){
printf( "线性表为空,不能进行删除操作! ");
exit(1);
}
temp = L- >list[0];
for(i = 1; i < L->size; i++)
L- >list[i-1] = L->list[i];
L- >size--;
return temp;
}
/* 14.从线性表L中删除表尾元素并返回它,若删除失败则停止
程序运行 */
elemType deleteLastList(struct List *L)
{
if(L - >size == 0){
printf( "线性表为空,不能进行删除操作! ");
exit(1);
}
L- >size--;
return L - >list[L->size]; /* 返回原来表尾元素的值 */
}
/* 15.从线性表L中删除第pos个元素并返回它,若删除失败则停止
程序运行 */
elemType deletePosList(struct List *L, int pos)
{
elemType temp;
int i;
if(pos < 1 || pos > L->size){ /* pos越界则删除失败 */
printf( "pos值越界,不能进行删除操作! ");
exit(1);
}
temp = L- >list[pos-1];
for(i = pos; i < L->size; i++)
L- >list[i-1] = L->list[i];
L- >size--;
return temp;
}
/* 16.从线性表L中删除值为x的第一个元素,若成功返回1,失败返回0 */
int deleteValueList(struct List *L, elemType x)
{
int i, j;
/* 从线性表中顺