顺序表的基本操作和应用

实验项目名称
一、实验任务(把题目粘过来)
实现顺序表的基本操作(所有操作均设计函数实现),并在基本操作的基础上实现两个应用。基本操作包括:
1)初始化。
2)批量输入非0数据值。
3)定位查找:输入要找数据的位置(位序)i。如果位置合法,输出该位置上的数据,如果位置非法,输出“位置非法”,查找成功返回值为1,同时带回该位置上的数据,查找失败,返回值为0。
4)按值查找:输入要查找的数据x。如果该数据x存在,输出其所在位置(位序);如果数据x不存在,则输出“数据x不存在!”。
5)按位插入:在指定的位置i插入x值。如果顺序表空间满了,则输出“顺序表空间满,插入失败!”,返回值为-1;如果插入位置非法,则输出“插入位置非法,插入失败!”,返回值为0;插入成功返回值为1,并输出顺序表中的数据。
6)按位删除:删除指定位置i上的数据。如果顺序表空,则输出“顺序表为空表,删除失败!”,返回值为-1;如果删除位置非法,则输出“删除位置非法,删除失败!”,返回值为0;删除成功返回值为1,同时带回删除的数据x,并输出“删除位置i上的数据为x”。
7)输出:输出顺序表中的所有元素,自行设计输出效果,要求清晰,排列整齐。如果顺序表为空表,请输出“顺序表为空表!”。
两个应用包括:
1)求两个集合A和B的并集,设A足够大能存放的下A和B中的所有元素。
2)将两个有序表A和B合并为有序表C。

# include <stdio.h>
# include <stdlib.h>
# include <stdbool.h>
#define MAXSIZE 1024
typedef int elemtype;
typedef struct List
{
	int Data[MAXSIZE];
	int length;
	
}list,*List;
List InitList()
{
  	List L=(List)malloc(sizeof(list));	
	if(L==NULL){
		return NULL;
	}
	  L->length=0;	
	  return L;
}
int GetData(List L,int data)//输入数据
{
	if (L->le
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值