一、冒泡排序常规算法:
冒泡排序原理:比较相邻两元素,将值大的交换到右边(从小到大排序,也可从大到小排序);
步骤:
(1)第一趟第一次比较:首先比较第一和第二个数,将小数放在前面,将大数放在后面。
(2)比较第2和第3个数,将小数放在前面,大数放在后面。
(3)重复步骤(2),直到比较到最后的两个数,将小数放在前面,大数放在后面,第一趟排序完成
(4)在第一趟比较完成后,最后一个元素一定是数组中最大的一个数,所以在比较第二趟的时候,最后一个数是不参加比较的。
(5)在第二趟比较完成后,倒数第二个数也一定是数组中倒数第二大数,所以在第三趟的比较中,最后两个数是不参与比较的。依次类推。
算法分析:
(1)N个元素排序,总共进行N-1趟排序,第 i 趟的比较次数为(N-i)次,双层循环语句,外层控制循环多少趟 for(int i=0; i<N-1; i++),内层控制每一趟的比较次数for(int j=0; j<N-i-1; j++);每次比较时当