題目描述:
從順序表中刪除具有最小值的元素(假設唯一)並由函數返回被刪除元素的值。空出的位置由最後一個元素填補,若順序表爲空則顯示出錯信息並退出運行。
解題思路:
搜索整個線性表,查找最小值元素的位置,並記錄該位置,然後用最後一個元素的值將其覆蓋,並返回最小值
#include
using namespace std;
typedef int ElemType;
struct sqList
{
int length;
int *data;
};
bool Del_Min(sqList &L,ElemType &value)
{
//刪除順序表L中最小值元素節點,並通過引用型參數value返回值
//如果刪除成功,返回true;否則,返回false
if(L.length == 0)return false;//表空,終止操作
value = L.data[0];
int pos = 0;
for(int i=1;i