educoder 数据结构顺顺序表第三关、

本关任务介绍如何将两个非递减有序的顺序表A和B合并成一个新的顺序表C,保持非递减有序。涉及到顺序表的类型定义、主要操作如初始化、释放、判断空表、判断满表、创建、输出和合并等。编程要求实现MergeList_Sq函数,将LA和LB归并成LC,保持非递减顺序。测试案例展示了合并过程。
摘要由CSDN通过智能技术生成

本关任务:已知两个顺序表A和B,数据元素按值非递减有序排列,现将A和B归并成一个新的顺序表C,使C中的数据元素仍按值非递减有序排列。

例如:

设 A=(3,5,8,11) B=(2,6,9,15,20)

则 C=(2,3,5,6,8,9,11,15,20)

相关知识
为了完成本关任务,你需要掌握:1. 顺序表的类型定义,2.顺序表涉及的主要操作。

顺序表的类型定义
定义如下:

#define MAXSIZE 100 //最大长度
typedef int ElemType; // 数据元素的类型
typedef struct {
ElemType *elem; //指向数据元素的起始地址
int length; //线性表的当前长度
}SqList;
顺序表涉及的主要操作
主要操作如下:

顺序表的初始化:构造一个最多可存储MAXSIZE个数据元素的顺序表,并将其初始状态设置为length=0,即为空表。该操作函数具体定义如下:

void SL_Initiate(SqList* L)
释放顺序表:释放L->elem所指向的用于存储数据元素的存储空间。该操作函数具体定义如下:

void SL_Free(SqList* L)
判断顺序表是否为空:若为空表,则返回true,否则返回false。该操作函数具体定义如下:

bool SL_IsEmpty(SqList L)
判断顺序表是否已满:若顺序表达到最大长度,则返回 true,否则返回false。该操作函数具体定义如下:

bool SL_IsFull(SqList L)
创建顺序表:输入n个数据元素,创建一个顺序表。该操作函数具体定义如下:

void SL_Create(SqList* L,int n)
输出顺序表: 输出整个顺序表。该操作函数具体定义如下:

void SL_Print(SqList L)
顺序表的合并: 已知顺序表LA和LB的元素按值非递减排列,归并LA和LB得到新的顺序表LC,LC的元素也按值非递减排列。该操作函数具体定义如下:
void MergeList_Sq(SqList LA,SqList LB,SqList *LC)

编程要求
根据提示,在右侧编辑

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值