冒泡排序:比较相邻的两个数,如果第一个数比第二个数大,则两数交换。
选择排序:每次从所有数据中,选出最小的数据下标,然后和自定的最小索引交换。
package j_6_21; import java.util.Arrays; public class Text01 { public static void main(String[] args) { xuanZe(); maoPao(); } public static void xuanZe() { //选择排序 int[] arr= {12,11,7,14,15,2}; System.out.println("原数组:" + Arrays.toString(arr)); for(int i=0;i<arr.length-1;i++) {//遍历所有元素 int minIndex = i;//设置最小值的默认元素 for(int j=i+1;j<arr.length;j++) {//从minIndex的下一个开始比较 if( arr[j] < arr[minIndex]) {//如果下一个比minIndex还小,就记录下标 minIndex = j; } } if(minIndex != i) {//如果还是原来的数据,就不交换 //交换这两个数 int temp = arr[minIndex]; arr[minIndex] = arr[i]; arr[i] = temp; } } System.out.println("选择排序(升序):" + Arrays.toString(arr)); } public static void maoPao() { //冒泡排序 int[] arr= {12,11,7,14,15,2}; 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("冒泡排序(升序):" + Arrays.toString(arr)); } }