🥰蓝蓝计算机考研算法 |
您所在的位置:网站首页 › 无人机英语怎么讲 › 🥰蓝蓝计算机考研算法 |
Day13 2023/03/13
难度:简单 题目32、描述:删除顺序表中最小的元素,由最后一个元素补充。 33、逆转顺序表中的元素 34、删除顺序表中为x的元素: 运行实例 删除最小元素第三题和第一题,都不是真正意义上的删除某个元素,而是通过更新顺序表的长度,来实现的逻辑上的删除!!!(仔细点⭕) 算法实现 c++代码实现- 删除最小元素 #include using namespace std; // 静态分配的方式定义顺序表结构体 #define MAXSIZE 100 // 最大长度 typedef struct { int data[MAXSIZE]; // 数据域 int length; // 当前顺序表长度 } SqList; // 创建顺序表 bool CreateList(SqList &L, int n) { if (n > MAXSIZE) // 不能超过顺序表的的最大长度 return false; for (int i = 0; i < n; i++) { // 输入n个元素的值 cin >> L.data[i]; } L.length = n; // 更新顺序表长度 return true; } // 删除顺序表中最小的元素,由最后一个元素补充 bool DeleteMin(SqList &L) { if (L.length == 0) { // 如果顺序表为空,则返回false return false; } int minIndex = 0; // 记录最小元素的下标 for (int i = 1; i < L.length; i++) { // 遍历顺序表,找到最小元素的下标 if (L.data[i] < L.data[minIndex]) { minIndex = i; } } L.data[minIndex] = L.data[L.length - 1]; // 用最后一个元素覆盖最小元素 L.length--; // 顺序表长度减1 return true; } int main() { SqList L; int n; cout > n; cout |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |