当前位置:   article > 正文

在顺序表中删除指定位置(i=5)上的元素,实现顺序表的删除的基本操作,输出顺序表中所有元素_打印输出删除i位置元素之后的表l。 第一行输出表头,学号、姓名、数学成绩、语文成

打印输出删除i位置元素之后的表l。 第一行输出表头,学号、姓名、数学成绩、语文成

题目

顺序表中删除指定位置(i=5)上的元素,实现顺序表的删除的基本操作,输出顺序表中所有元素

#include<iostream>

using namespace std;
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status; //Status 是函数返回值类型,其值是函数结果状态代码。
typedef int ElemType; //ElemType 为可定义的数据类型,此设为int类型

#define MAXSIZE 100			//顺序表可能达到的最大长度

typedef struct {
	ElemType *elem; //存储空间的基地址
	int length; //当前长度
} SqList;

Status InitList(SqList &L) { //初始化创建顺序表	
	L.elem = new ElemType[MAXSIZE]; //为顺序表分配一个大小为MAXSIZE的数组空间
	if (!L.elem)
		exit(OVERFLOW); //存储分配失败退出		
	cout<<"初始化表中元素个数:";
	int n;
	cin>>n;
	cout<<"creat SqList:";  //在初始化中创建表
	for(int i = 0; i < n; i++){
		cin>>L.elem[i];
	}
	L.length = n; //空表长度为0
	return OK;
}

void input(SqList L){//输出表 
	ElemType i = 0;
	while(L.length != i){
		cout<<L.elem[i]<<" ";
		i++;
	}
	cout<<endl;
}

Status ListDelete(SqList &L, int i) { //顺序表的删除
	//在顺序表L中删除第i个元素,并用e返回其值
	//i值的合法范围是1<=i<=L.length
	if ((i < 1) || (i > L.length))
		return ERROR; //i值不合法
	for (int j = i; j < L.length; j++)
		L.elem[j - 1] = L.elem[j]; //被删除元素之后的元素前移
	--L.length; //表长减1
	return OK;
}

int main()
{
	SqList a;	
	InitList(a);
	input(a);//输出顺序表 
	ListDelete(a,5);
	input(a);//输出顺序表 
	return OK;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60

参考资料:
《数据结构 C语言版 第2版》严蔚敏 李冬梅 吴伟民

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/889438
推荐阅读
相关标签
  

闽ICP备14008679号