冒泡排序是排序算法中最基本的方法,编程初学者学习的第一个排序算法基本都是冒泡排序,本篇博客对冒泡排序的方法进行简单介绍及代码演示。主要掌握其思想,代码采用java编写。
思想:第一个数分别与第二个到最后一个数进行比较,如果第一个数大于另一个数,则交换两数的位置,直到第一个数的右侧数字都比它大,左侧数字都比它小。然后对第二个数重复上述操作,依次类推,直到排好序。
直接上代码
int[] arr = new int[]{1,3,9,5,6,7,15,4,8};
//冒泡排序
for(int i = 0;i<arr.length-1;i++){
for(int j = 0;j < arr.length-i-1;j++){
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.println("排序后:");
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
System.out.println();
排序算法的灵魂有两处:
1.双层循环的判断条件:
外层:i<arr.length-1
内层:j < arr.length-i-1
2.进行交换:
//升序交换,若想降序只需将>改为<即可。
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
记住以上两点,手动练习几遍,即可掌握冒泡排序。