一个C语言类的题目(帮忙看下)线性表方面的设A和B是两个顺序表,
设A和B是两个顺序表,其元素从小到大排列,编写一个将A和B中所有元素组成一个新的从小到大的有序顺序表的算法,要求删除重复的元素
思路:依次扫描通过A和B的元素,比较当前的元素的值,将较小值的元素赋给C,如此直到一个线性表扫描完毕,然后将未完的那个顺序表中余下部分赋给C即可。C的容量要能够容纳A、B两个线性表相加的长度。 这就是归并排序。 //我用C++写的程序,不知符合不符合你的要求 #include //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]