1.冒泡排序已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。首先比较a[1]与a[2]的值,若a[1]大于a[2]则交换两者的值,否则不变。再比较a[2]与a[3]的值,若a[2]大于a[3]则交换两者的值,否则不变。再比较a[3]与a[4],以此类推,最后比较a[n-1]与a[n]的值。这样处理一轮后,a[n]的值一定是这组数据中最大的。再对a[1]~a[n-1]以相同方法处理一轮,则a[n-1]的值一定是a[1]~a[n-1]中最大的。再对a[1]~a[n-2]以相同方法处理一轮,以此类推。共处理n-1轮后a[1]、a[2]、……a[n]就以升序排列了。?优点:稳定,比较次数已知;缺点:慢,每次只能移动相邻两个数据,移动数据的次数多。?初始关键字 [49 3865 97 76 13 27 49]第一趟排序后 [38 4965 76 13 27 49] 97第二趟排序后 [38 4965 13 27 49] 76 97第三趟排序后 [38 4913 27 49] 65 76 97第四趟排序后 [38 1327 49] 49 65 76 97第五趟排序后 [38 1327] 49 49 65 76 97第六趟排序后 [13 27]38 49 49 65 76 97第七趟排序后 [13] 2738 49 49 6
原创力文档

文档评论(0)