问答题
设有n个元素采用冒泡排序法进行排序,通常需要进行多少趟排序?对于第,趟冒泡通常需要进行多少次关键字比较?在程序设计中如何设置判断条件,有可能使冒泡趟数可以减少并且能完成排序。【北京交通大学2005四、3(5分)】
【正确答案】正确答案:n个元素采用冒泡排序法进行排序,最多需要进行n—1趟排序。第j趟冒泡排序要进行n-j次关键字比较。在一趟排序中,若没有记录交换,则表示排序完成。因而,可通过设标记来控制排序结束,下面语句段说明了标记flag的使用。 intj=1,flag=1; //flag用作控制标记 while(jr[i+1])(flag=1; r[i]<一一>r[i+1];}//发生了交换,还要进行下趟 }
【答案解析】