将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表
解析:有序顺序表,值是按照大小顺序排列,每次比较时是找当前两个表中首个未比较的元素比较,小的插入到第三个表中,最后,当其中一个表比较完后,结束比较,将剩余的元素插入第三表中
//将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表 void combine(Sq s1,Sq s2,Sq &s3){ int i=0; int j=0; int k=0; while(i<s1.length && j<s2.length){ if(s1.A[i]<s2.A[j]){ s3.A[k++]=s1.A[i++]; }else{ s3.A[k++]=s2.A[j++]; } } while(i<s1.length){ s3.A[k++] = s1.A[i++]; } while(j<s2.length){ s3.A[k++] = s1.A[j++]; } s3.length=k; }