int ListInsert(SeqList *L, int i, DataType x) {
int j;
if (L->size >= MaxSize) {
printf("順序表已滿無法插入!\n");
return 0;
}
else if (i<0 || i>L->size) {
printf("參數i不合法!\n");
return 0;
}
else {
for (j = L->size; j > i; j--)
L->list[j] = L->list[j - 1];//從後向前依次後移數據,爲插入做準備
L->list[i] = x;
L->size++;
return 1;
}
}
int ListInsert(SeqList *L, int i, DataType *x) {
int j;
if (L->size <= 0) {
printf("順序表已空無數據元素可刪!\n");
return 0;
}
else if (i<0 || i>L->size - 1) {
printf("參數i不合法");
return 0;
}
else {
*x = L->list[i]; //保留刪除元素到x中
for (j = i + 1; j <= L->size - 1; j++)
L->list[j - 1] = L->list[j];
L->size--;
return 1;
}
}