数据结构(C语言版) 线性表 算法设计Demo29
Posted 奕兴_Victor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构(C语言版) 线性表 算法设计Demo29相关的知识,希望对你有一定的参考价值。
将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表。
[算法分析]
首先,按顺序不断取两个顺序表表头较小的结点存入新的顺序表中。然后,看哪个表还有剩余,将剩余的部分加到新的顺序表后面。
[算法描述]
bool Merge(SeqList A,SeqList B,SeqList &C)
//将有序顺序表A与B合并为一个新的有序顺序表C
if(A.lenght+B.lenght>C.maxSize) //大于顺序表的最长长度
return false;
int i=0,j=0,k=0;
while(i<A.lenght&&j<B.lenght) //循环,两两比较,小者存入结果表
if(A.data[i]<=B.data[j])
C.data[k++]=A.data[i++];
else
C.data[k++]=B.data[j++];
while(i<A.lenght) //还剩一个没有比较完的顺序表
C.data[k++]=A.data[i++];
while(j<B.lenght)
C.data[k++]=B.data[j++];
C.lenght=k;
return true;
以上是关于数据结构(C语言版) 线性表 算法设计Demo29的主要内容,如果未能解决你的问题,请参考以下文章