07顺序表的操作

Posted 樱桃挚爱丸子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了07顺序表的操作相关的知识,希望对你有一定的参考价值。

顺序表的操作

一、从顺序表中删除具有最小值的元素

/*
	时间:2017年7月2日10:49:39
	功能:从顺序表中删除具有最小值的元素并将最后元素放于被删除元素的位置,由函数返回被删元素的值
*/
#include "stdio.h"
#include "string.h"
#include"stdlib.h"
#define maxSize 15											//显式地定义表的长度
typedef int DataType;										//定义表元素的数据类型
typedef struct												//顺序表的定义
{											
	DataType data[maxSize];									//静态分配存储表元素的一维数组
	int n;													//实际表元素个数
}SeqList;

int deleteMin(SeqList*, DataType* );					    //函数声明

int main()
{
	SeqList L = {{11,21,3,41,31,21,4,6,8,7},10};			//顺序表元素初始化
	DataType x;
	deleteMin(&L, &x);										//因为x的值会改变,故传入调用函数的是地址									
	printf("被删除的元素的值为:%d\n", x);

	printf("完成相应操作后的数组形式:\n");
	for(int i = 0; i < 9; i++)
		printf("%d\t",L.data[i]);							//此处L是结构体普通变量
	printf("\n");
	return 0;

}

int deleteMin(SeqList *L, DataType *x)						//此处用指针接住地址变量的值
{
	if(L->n == 0)
	{
		printf("表空不能删除!\n");
		return 0;
	}
	int i, pos = 0;											//假定0号元素的值最小
	for(i = 2; i <= L->n; i++)								//循环,寻找具有最小值的元素,此处的L是结构体指针变量
		if(L->data[i-1] < L->data[pos])						//pos记忆当前具有最小值元素的位置
			pos = i-1;
		*x = L->data[pos];// L->n--; L->data[pos] = L->data[L->n];
		return 1;											//如果return的返回值返回到调用函数处,返回的值需要用一个变量进行存储
}
/*
	总结:顺序表中的所有元素既可以顺序访问也可以随机访问
	在VC++6.0中显示的结果是:
	——————————————————————————————————
	被删除的元素的值为:3
	完成相应操作后的数组形式:
	11      21      7       41      31      21      4       6       8
	——————————————————————————————————
*/

  

以上是关于07顺序表的操作的主要内容,如果未能解决你的问题,请参考以下文章

数据结构学习笔记——顺序表的基本操作(超详细最终版+++)建议反复看看ヾ(≧▽≦*)o

数据结构学习笔记——顺序表的基本操作(超详细最终版+++)建议反复看看ヾ(≧▽≦*)o

(数据结构)顺序表与链表的基本操作代码以及比较

数据结构之顺序表的增删查改等操作详解

基础数据结构-线性表-顺序表的合并操作

顺序线性表的代码实现