排序问题是编程中最常见的问题.实际应用中,计算机有接近一半时间是在处理有关数据排列的问题,提高排序的效率有助于更快地解决问题. 先来说说平常一般的冒泡算法,使用两个循环,外循环作为整体排序,每趟循环使未排序元素中的最大(小)值归位(到达其最终位置).内循环用于两两相邻元素比较.每次对一组n个数据进行排序时都要进行n-1次全体扫描交换.比如对5,1,2,3,4进行升序排列,进行一趟整体扫描后变为1,2,3,4,5,实际已经达到要求可以输出,可是还要进行3次整体扫描排序,比较繁琐. 这里提供的算法可