码迷,mamicode.com
首页 > 其他好文 > 详细

顺序表[求并集 方法更新]

时间:2016-03-06 15:38:38      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

前文链接:http://www.cnblogs.com/tinaluo/p/5240727.html

不得不说明,水平是逐渐提高的。昨天晚上看的顺序表,在第1章,今天看第12章,重新更新了方法。
题目:表A 1  3  5,表B 2 4 6,都呈非递减排序,现将两个表合并成一个表,也呈非递减排序,存放在A中(或者B中),言外之意是不能开辟新表!

其实这种方法是很简单的,无奈敲的代码太少,缺乏认识。思路很容易理解,拿出B中数据,沿着A的后面一直往前比较,如果小于就一直比,如果不小于就插入数据。
唯一麻烦的地方在于,数据的两两移动。
技术分享

这样就相当于数组中的元素两两移动

while(e<A.List[j]) /*从A的最大值(末端)开始比较*/
            {                   /*即从后往前比较*/
                A.List[j+1]=A.List[j];/*两两交换*/
                j--;                 
            };

现在出现一种情况,假如A的元素值一直都小于e,会导致数组越界,比如,A=1 2 3 B=4 5 6,在while循环中,j--会一直执行!

顺序表[求并集 方法更新]

标签:

原文地址:http://www.cnblogs.com/tinaluo/p/5247540.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!