java冒泡排序
冒泡排序
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
package com.sanyuan.bubbleSortTest; import java.util.Arrays; public class Test02 { public static void main(String[] args) { int[] values = {6,23,65,21,12,56,78}; bubbleSort(values); System.out.println(Arrays.toString(values)); } public static void bubbleSort(int[] values) { int temp; //外层循环:n个元素排序,至多需要n-1趟循环 for (int i = 0; i < values.length-1; i++) { //定义一个布尔类型变量,标记数组是否已达到有序状态 boolean flag = true; /*内层循环:每一趟循环都从数列的前两个元素开始比较,比较到无序数组的最后*/ for (int j = 0; j < values.length-1-i; j++) { //如果前一个元素大于后一个元素,则交换两个元素的值 if (values[j]>values[j+1]) { temp = values[j]; values[j] = values[j+1]; values[j+1] = temp; //本趟发生了交换,表明该数组本趟处于无序状态,需要继续循环 flag = false; } } //根据表计量的值判断数组是否有序,如果有序则退出 if (flag) { break; } } } }
浙公网安备 33010602011771号