/*从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。
空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。*/
#include<stdio.h>
#include<stdlib.h>
#define MaxSize 100
typedef int ElemType;
typedef struct{
ElemType *data;
int length;
}SqList;
bool InitSqList(SqList &L)
{
L.data = (ElemType*)malloc(sizeof(ElemType)*MaxSize);
L.length = 0;
return true;
}
bool deleMinVal(SqList &L,ElemType &min)
{
if(L.length == 0)
{
printf("ERROR!\n");
return false;
}
int loc=0;
min = L.data[0];
for(int i=1;i<L.length;++i)
if(L.data[i]<min)
{
loc = i;
min = L.data[i];
}
L.data[loc] = L.data[L.length-1];
return true;
}
bool printList(SqList L)
{
for(int i=0;i<L.length;++i)
printf("%d ",L.data[i]);
printf("\n");
return true;
}
void main()
{
SqList L;
InitSqList(L);
int minVal;
int a[5]={8,2,3,4,5};
for(int i=0;i<5;++i)
{
L.data[i] = a[i];
}
L.length = 5;
printList(L);
deleMinVal(L,minVal);
printList(L);
printf("最小值是:%d\n",minVal);
}
顺序表-输出最小值
最新推荐文章于 2023-08-28 21:48:49 发布
本文介绍如何从顺序表中删除具有最小值的元素,并通过函数返回该值。涉及初始化顺序表、查找最小值、元素替换及错误处理。实例演示了如何使用C语言实现这一过程。
769

被折叠的 条评论
为什么被折叠?



