标签:sqlist 23 int MaxSize value length 课后 data 考研
Unit 2 线性表
2.1顺序表:
逻辑结构:线性表
物理结构:顺序存储
01删除最小元素
/*
顺序表:01题
从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。
*/
#define MaxSize 30
#include "stdio.h"
#include "stdlib.h"
#include "stdbool.h"
typedef struct {
int data[MaxSize];
int length;
} sqlist;
bool del_min(sqlist &l, int &value) {
if(l.length == 0) //表空,返回false
return false;
value = l.data[0]; //从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 -- ;
return true;
}
void InitList(sqlist &L) {
for (int i = 0; i < MaxSize; i++)
L.data[i] = i*(i-5); //将所有数据元素设置为默认初始值
L.length = MaxSize; //初始值的长度为maxsize
}
int main() {
sqlist l;
InitList(l);
int min = 0;
for(int i =0;i<MaxSize;i++){
printf("第%d个元素为%d\n",i,l.data[i]);
}
if(del_min(l, min)) {
printf("最小元素值为:%d", min);
} else printf("顺序表为空,错误!");
return 0;
}
标签:sqlist,23,int,MaxSize,value,length,课后,data,考研 来源: https://www.cnblogs.com/Mer1ot/p/16449212.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。