#include <iostream>
#include <cstdlib>
#include <ctime>
// 定义最大元素数量
#define MaxSize 30
// 定义元素类型
typedef int ElemType;
// 定义状态类型
typedef int Status;
// 定义顺序表结构体
typedef struct {
ElemType data[MaxSize]; // 存储数据的数组
int length; // 顺序表的长度
} SqList;
// 查找并删除顺序表中最小值元素,用最后一个元素填补空位
ElemType fun1(SqList &L) {
// 如果顺序表为空,输出错误信息并退出程序
if (L.length == 0) {
std::cout << "error";
exit(0);
}
// 找到最小值的索引
int min = 0;
for (int i = 1; i < L.length; i++) {
if (L.data[min] > L.data[i]) {
min = i;
}
}
// 保存最小值
int e = L.data[min];
// 用最后一个元素填补删除最小值后的空位
L.data[min] = L.data[L.length - 1];
// 顺序表长度减一
L.length--;
return e;
}
// 打印顺序表中的元素
void printL(SqList L) {
std::cout << "打印" << std::endl;
for (int i = 0; i < L.length; i++) {
std::cout << L.data[i] << std::endl;
}
}
int main(int argc,
从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。
于 2024-08-10 10:51:00 首次发布