【数据结构】1.从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
typedef int ElemType;
struct sqList
{
    
    
	int length;
	int *data;
};
bool Del_Min(sqList &L, ElemType &value)
{
    
    
	if (L.length == 0)return false;
	value = L.data[0];
	int pos = 0;
	for (int i = 1; i<L.length; i++)
	{
    
    
		if (L.data[i]<value)		
		{
    
    
			value = L.data[i];
			pos = i;
		}
	}
	L.data[pos] = L.data[L.length - 1];
	L.length--;
	for (int i = 0; i<L.length; i++)cout << L.data[i] << " ";
	return true;
}
int main()
{
    
    
	int value;
	sqList L;
	L.length = 10;
	int a[10] = {
    
     1, 2, 4, 6, 9, -1, 8, 3, 6, 9 };
	L.data = a;
	Del_Min(L, value);
	cout << endl;
	cout << "min:" << value << endl;
}

猜你喜欢

转载自blog.csdn.net/weixin_43762735/article/details/108630823