冒泡排序源代码,带有详细注释,希望可以帮助到大家,有用的话点个赞和收藏吧,感谢大家的阅读,Java小白一直在努力,承蒙大神们的厚爱。
定义
在程序设计语言中,排序算法主要有冒泡排序、快速排序、选择排序以及计数排序等 。
冒泡排序(Bubble Sort)是最简单和最通用的排序方法,其基本思想是:在待排序的一组数中,将相邻的两个数进行比较,若前面的数比后面的数大就交换两数,否则不交换;如此下去,直至最终完成排序 。由此可得,在排序过程中,大的数据往下沉,小的数据往上浮,就像气泡一样,于是将这种排序算法形象地称为冒泡排序 。
代码
//冒泡排序
public class Maopaopaixu {
public static void main(String[] args) {
int[] arr = {234, 223, 312, 1235324, 333, 222, 111, 777, 555, 43345};
int n;//中间变量
// 外层循环次数为数组长度-1次
// 下标为0的值与下标为1的值比较
// 下标为1的值与下标为2的值比较
// .....
// 下标为i-1的值与下标为i的值比较
// 因次外层循环次数为数组长度-1次
for (int i = 0; i < arr.length - 1; i++) {
//每次循环会选出当前最大的一个值排到最后,该最大值将不再参与之后的排序
//因此内层循环次数会每次减少1,外层多次循环,内层循环次数可表示为数组长度-i-1
for (int j = 0; j < arr.length - 1 - i; j++) {
//比较两个数的大小并交换位置,较小数排在前面,较大数排在后面
if (arr[j] > arr[j + 1]) {
//用中间变量暂存,互相赋值会导致两个数的值相同,导致结果错误
n = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = n;
}
}
}
//循环遍历数组并输出
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
既然你都看完啦,点个赞再走啵,求求啦,还有其它文章,感兴趣的话进我主页看看波~