一.算法思想
①通过比较找出最小值元素的值及其下标,并分别用变量保存起来
②用顺序表中最后一个元素覆盖最小值元素,并使顺序表的长度减一
二.源代码
//删除最小元素
ElementType WangDao1DeleteMinNumber(List list) {
int min = 9999; //表示最小值的值,初始值为9999
int index = 0;//表示最小值的下标,初始值为0
//list->Last表示的是数组的下标
if (list->Last == -1) {
printf("顺序表为空");
return -1;
}
/*找出最小值及其下标*/
for (int i = 0; i <= list->Last; i++) {
if (list->Data[i] < min) {
min = list->Data[i];
index = i;
}
}
PrintList(list);
/*删除最小值,并用最后一个元素填补*/
list->Data[index] = list->Data[list->Last];
//PrintList(list);
return min;
}