永发信息网

帮写一个算法

答案:3  悬赏:10  手机版
解决时间 2021-07-20 22:27

假设有两个按元素值递增有序排列的有序表A和B,均以单链表作存储结构,请编写算法利用A表和B表中原有的结点将A表和B表归并成一个按元素值非递增有序排列的有序表C. 

A=(1,2,3,4,6) B=(2,3,5,7,9) C=(9,7,6,5,4,3,3,2,1)

最好写成可以上机操作的程序

最佳答案

呵呵,数据结构有个有名的算法:归并排序,这个算法可以解决你的问题。自己可以网上找找,或找本数据结构的书,书里也有着算法。


以下是严蔚敏的《数据结构(c语言版)》里归并排序里的核心算法,这个算法就是你要的把两个有序表归并成一个有序表。


void Merge(RcdType SR[],RcdType &TR[],int i,int m,int n)


{


//将有序的SR[i..m]和SR[m+1..n]归并为有序的TR[i..n]


for(j=m+1,k=i;i<=m&&j<=n;++k) //将SR中记录由小到大地并入TR


{


if(LQ(SR[i].key,SR[j].key)) TR[k]=SR[i++];


else TR[k]=SR[j++];


}


if(i<=n) TR[k..n]=SR[i..m]; //将剩余的SR[i..m]复制到TR


if(j<=n) TR[k..n]=SR[j..n]; //将剩余的SR[j..n]复制到TR


}



注意:这是伪算法,不可直接用,自己看懂后改改就可以用了

全部回答
先合并,再排序不就可以了
为什么是"按元素值非递增有序排列的有序表"呢?是不是递减了?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
DNF放招的颜色怎么调
一个女孩对自己爱的男孩说的一旦爱上便是爱刻
怎么退出同住时代
眼睛会经常的自己流泪,见到强光会刺眼是怎么
魔蝎座爱上魔蝎座会怎么样
我最近一直发现房间里有这样的小虫子,全部是
浅蓝幻想满力满攻是多少
几点?打一字
《战地之王》的AVA点怎么拿的?
什么是物理性质
oppoa100可以自拍么
英文文具宣传广告
表达离别时留恋的诗句,人生何必留恋得句子
海南中学和华桥中学那个最好?
淀粉转变的麦芽糖和吃的麦芽糖相同吗
推荐资讯
问道中如果70级的套和80级的套一块穿,还变颜
珍珠粉在古代女人怎样用啊
空间的闪动边框怎么弄
想找点事来成熟自己,有什么事呢?
电脑待机状态QQ农场伴侣继续运行吗
数码 手机 软件
什么样的工作才适合我呢?
违反合约打官司胜算虑大吗?还有打官司费用怎
CPU:AtomN270 1.6G Hz 主板:Intel 945GSE内存
临湘市岳阳临湘农村商业银行(福桥路支行)地址
从上海EMS一箱黄酒到湖南山区,可以吗?邮费需
没足够的钱当非主流?怎么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?