冒泡排序:
算法思想:
- 将序列中所有元素两两比较,将最大的放在最后面
- 将剩余序列中所有元素两两比较,将最大的放在最后面
一直重复第二步,直到只剩下一个数
代码实现:
- 设置循环次数
- 设置开始比较的位数,和结束的位数
- 两两比较,将最小的放到前面去
- 重复2、3步,直到循环次数完毕
import java.util.Arrays;
//冒泡排序
public class maoSort {
public static void main(String[] args) {
int[] arr={23,44,358,8,5,0,36,237,5,226,46,35,543,1};
int count=0; //直观看见比较的次数
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if (arr[j]>arr[j+1]) {
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
count++;
}
}
System.out.println(Arrays.toString(arr));//输出为:[0, 1, 5, 5, 8, 23, 35, 36, 44, 46, 226, 237, 358, 543]
System.out.println("比较了:"+count+"次");//输出为:比较了:91次
}
}