题目描述:
从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。
题目分析:
1、找出最小值
2、删除最小值
3、返回被删的最小值
4、空位由最后一个元素填补
5、异常情况:删除最小元素后,顺序表为空,显示出错信息并退出运行
程序代码:
#include<stdio.h>
#define MaxSize 10
typedef struct{
int data[MaxSize];
int length;
} SqList;
void InitList(SqList &L)
{
L.length = 0;
}
//计算最小值
int GetMin(SqList L, int &min)
{
int min = L.data[0];
for (int i = 1; i <= L.length - 1; i++)
{
if (L.data[i] < min)
{
min = L.data[i];
}
}
return min;
}
//查找最小值
int LocateElem(SqList L, int min)
{
for (int i = 0; i <= L.length - 1; i++)
{
if (L.data[i] == min)
{
return i+1;
}
}
}
//删除最小值
b