实现两个顺序表的合并(顺序表已递增)

实现两个顺序表的合并(顺序表已递增)

在学校自己做的实验报告,仅供参考,可能有误。
现在忘了··等考研复习时补充吧

 //(1)建立结构体
typedef struct {
	int* elem;
	int length;
	int listsize;
}sqlist;
//(2)初始化化线性表
void Initlist(sqlist& L) {
	L.elem = (int*)malloc(LIST_INIT_SIZE * sizeof(int));
	L.length = 0;
	L.listsize = LIST_INIT_SIZE;
}
//(3)创建线性表
void Creatlist(sqlist& q) {
	int a=0, i = 0;
	while (1) {
		cin >> a;
		if (a == -100)break;
		q.elem[i++] = a;
		q.length++;
	}
}
//(4)合并线性表
//设la,lb为两个有序递增线性表
void Mergelist(sqlist la, sqlist lb, sqlist &lc) {
	int* pa, * pb, * pc,*pa_last,*pb_last;
	pa = la.elem;
	pb = lb.elem;
	lc.listsize = lc.length = la.length + lb.length;
	pc = lc.elem = (int*)malloc(lc.listsize * sizeof(int));
	pa_last = la.elem + la.length - 1;
	pb_last = lb.elem + lb.length - 1;
  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值