文章目录
1. 思路
1.1 按位置删除
将需要删除位置之后的值全部往前移动一个单位,size-1。
1.2 按值删除
通过查找方法返回值所在位置,再通过位置删除
1.3 排序(冒泡)
注意两个循环怎么构成的。
2. 代码
2.1 Sqlist.h
加入
//按位置删除
void delete_pos(Sqlist *list, int pos);
//按值删除
void delete_val(Sqlist *list, ElemType x);
//排序(冒泡)
void sort(Sqlist *list);
2.2 Sqlist.cpp
加入
void delete_pos(Sqlist *list, int pos)
{
if(pos < 0 || pos > list->size)
{
printf("要删除的位置无效,无法删除\n");
return;
}
for(int i = pos; i < list->size; i++)
{
list->base[i] = list->base[i + 1];
}
list->size--;
}
voi