冒泡排序法

来源:互联网 发布:普罗米修斯剧情 知乎 编辑:程序博客网 时间:2024/05/19 04:50

冒泡排序法:

概述:意思就是将一串数字按着从小到大的顺序进行排列即可

算法思路分析:

例子:9,8,7,6,5,4,3,2,1      需要比较很多轮,每一轮又要比较很多次,每一次将相邻的两个数字进行比较

得出来的结论:进行一轮比较就会冒出来一个最大的数字

n个数字需要比较n-1轮

每一轮需要比较的次数:

如:第一轮: 次数:n-1

       第二轮: 次数:n-2

       第i轮 :   次数:n-i

所以用轮数来作为外循环,用次数来作为内循环!

下面给出具体的代码(仅供参考):

package javastudy;


public class Testit7 {


public static void main(String[] args) {
        //冒泡排序法
int[] numbers = { 9, 8, 7, 6, 5, 4, 3, 2, 1 };
int n = numbers.length;
for (int i = 1; i <= n - 1; i++) {
for (int j = 0; j <= n - i - 1; j++) {
int temp = 0; 
if (numbers[j] > numbers[j + 1]) {
temp = numbers[j + 1];
numbers[j + 1] = numbers[j];
numbers[j] = temp;
}
}
}
for (int i = 0; i <= n - 1; i++) {
System.out.print(numbers[i] + "\t");
}
}


}

输出的结果为:1 23 4 5 6 78 9


冒泡排序作为公司面试之算法的很重要的内容,需要熟练的掌握!


0 0