冒泡排序
原理
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
java实现
public class Demo {
public static void main(String[] args) {
int[] nums1 = {5, 56, 5, 65, 56, 56, 65, 66, 5};
int temp = 0;
//外层循环表示一共需要排序几轮,因为每一次交换都会将最大的一个数放在最后一位,所以只需要交换nums1.length-1轮。(只剩下一个数字时无需再交换)
for (int i = 0; i < nums1.length-1; i++) {
//内层循环为每一轮的交换过程。从左至右,当左边一个数大于右边一个数时,将两个数字交换.
for (int j = 0; j < nums1.length-1-i; j++) {
if (nums1[j]>nums1[j+1]){
temp=nums1[j];
nums1[j] = nums1[j+1];
nums1[j+1] = temp;
}
}
}
System.out.println(Arrays.toString(nums1));
}
}