冒泡排序
冒泡排序(从前向后),将较大的元素向后传递,每趟排序结束都将本趟排序中元素的最大值向后传递到已确定序列(之前每趟排序的结果)的前一个位置
算法代码如下(java语言实现)
前半部分见 java语言实现冒泡排序 - 简书
public class BubbleSort{
public static void main(String[] args){
int arr[] = {2,568,4445,22,895,355};//随机产生一个int 数组
bubbleSort(arr);//调用冒泡排序函数
printArray(arr);//遍历打印数组元素
}
/*
冒泡排序函数
*/
public static void bubbleSort(int[] arr) {
//功能
//外层循环用来控制数组循环的圈数
for (int i = 0; i < arr.length-1; i++) {
//j < arr.length-1 为了避免角标越界
//j < 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;
}
}
}
}
/*
一个遍历打印数组方法
*/
public static void printArray(int[] arr){
//输出一半中括号,不要换行打印
System.out.print("[");
//数组进行
for(int i = 0;i < arr.length;i++){
//判断遍历到的元素,是不是数组的最后一个元素
//如何判断 循环变量 到达length-1
if (i==arr.length-1){
//输出数组最后一个元素和]
System.out.print(arr[i]+"]");
}else {
//不是数组的最后一个元素,输出数组元素和逗号
System.out.print(arr[i]+",");
}
}
System.out.println();//重复使用时可以使两个数组处于不同的行
}
}
输出结果为:
输出结果正确。
网友评论