其他分享
首页 > 其他分享> > 23考研王道数据结构课后题目练习

23考研王道数据结构课后题目练习

作者:互联网

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