编程技术文章分享与教程

网站首页 > 技术文章 正文

顺序表的删除与插入

hmc789 2024-11-19 04:59:39 技术文章 1 ℃

顺序表的插入和删除是数据结构中比较基础的,在插入部分要能够做到在数组头部插入数据,在尾部插入数据,以及在指定位置插入指定数据。在删除部分要能够做到删除尾部数据,删除头部数据,删除指定位置的数据。

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;

}

}

标签列表
最新留言