概述
线性表
一、线性表的合并:
1、有两张非递减有序的线性表La和Lb,采用顺序存储结构,将这两张表合并成Lc表,要求重新分配内存存放Lc表,且Lc表仍然是非递减有序。设顺序表存储结构如下:
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef int ElemType;
typedef struct {
ElemType * elem; //存储空间地址
int length;
int listsize;
}Sqlist;
算法如下:
void MergeList_Sq(Sqlist La,Sqlist Lb,Sqlist &Lc){
pa = La.elem;
pb = Lb.elem;
Lc.listsiize = Lc.length = La.length + Lb.length;
pc = Le.elem = (ElemType *)malloc(Lc.listsize * sizeof(ElemType));
if(!Lc.elem)
exit (OVERFLOW); //存储分配失败
pa_last = La.elem + La.length - 1;
pb_last = Lb,elem + Lb.length - 1;
while(pa <= pa_last && pb <= pb_last){
if(*pa <= *pb)
*pc++ = *pa++;
else
*pc++ = *pb++;
}
while(pa <= pa_last)
*pc++ = *pa++;
while(pb <= pb_last)
*pc++ = *pb++;
}//MergeList_Sq
待更新
最后
以上就是冷傲黑米为你收集整理的南昌航空大学考研数据结构复习(一)线性表线性表的全部内容,希望文章能够帮你解决南昌航空大学考研数据结构复习(一)线性表线性表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复