分类：教育/科学-学习帮助
问题：一个C语言类的题目（帮忙看下）线性表方面的设A和B是两个顺序表， 
设A和B是两个顺序表，其元素从小到大排列，编写一个将A和B中所有元素组成一个新的从小到大的有序顺序表的算法，要求删除重复的元素 
回答：思路：依次扫描通过A和B的元素，比较当前的元素的值，将较小值的元素赋给C，如此直到一个线性表扫描完毕，然后将未完的那个顺序表中余下部分赋给C即可。C的容量要能够容纳A、B两个线性表相加的长度。 这就是归并排序。//我用C++写的程序，不知符合不符合你的要求#include <iostream.h>//define two arraysint A[3] = {1,4,8};int B[4] = {2,4,5,9};int AppendByOrder(int a[],int b[],int m, int n,int c[]){ //m indicate the number of a's elements //also n indicate the number if b 's elements  int total = m + n; //c = new int[total]; int p = 0; int q = 0; for (int i = 0; i < total;i++) {  if(a[p]<b[q]){   c[i] = a[p++];   if( p == m)    break;  }  else  {   c[i] = b[q++];   if(q == n)    break;  } } i++; if(p==m)  for(;i<total;i++)   c[i] = b[q++]; if(q==n)  for(;i<total;i++)   c[i] = a[p++]; return 1;//successful}int Print(int a[],int n){ for(int i = 0;i<n;i++)  cout<<a[i]<<'\t'; return 1;}int main(){ int C[10]; AppendByOrder(A,B,3,4,C); Print(C,3+4); return 0;}