一、理解说明

1.理解和记忆

冒泡排序:依次定位数组元素,每次只和相邻的且符合条件的元素交换位置。

选择排序:依次在数组的每个位置,通过逐个对比选择出最大或最小的元素。

2.知识点说明

(1)数组是引用类型

当方法参数是基本数据类型时,形参值发生改变并不影响实参值。

当方法参数是引用类型时,实际传递的是引用类型的地址。将实参的地址传递给形参,这时它们指向的是相同的地址,那么当形参改变时,其实形参也改变了。

举个栗子:引用类型是数组,此时在方法中对形参数组进行排序,那么尽管方法没有返回值,实参数组的元素顺序也已经被改变了,因为它们指向的是相同的地址。

(2)实参和形参

public static void main(String[] args) {
String name = "彭于晏";/* 实参 */
sayHello(name);
} private static void sayHello(String name /* 形参 */) {
System.out.println("Hello " + name + " !");
}

二、代码

public class MainMethod {
/**
* 程序入口
* @param args
*/
public static void main(String[] args) {
// 测试冒泡排序
JavaSort javaSort = new JavaSort(new Integer[]{ 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 });
javaSort.testBubbleSort(); // 测试选择排序
javaSort.setArr(new Integer[]{ 19, 18, 17, 16, 15, 14, 13, 12, 11, 10 });
javaSort.testSelectionSort();
}
} /**
* Java版冒泡排序和选择排序
*/
class JavaSort{ private Integer[] arr; public JavaSort(Integer[] arr) {
super();
this.arr = arr;
} public void setArr(Integer[] arr) {
this.arr = arr;
} /**
* 测试冒泡排序
*/
public void testBubbleSort(){
System.out.println("【 冒泡排序 】");
System.out.println("排序前:");
printArray(this.arr);
System.out.println("----------------------------------------------------------");
System.out.println("排序中:");
this.bubbleSort(this.arr);
System.out.println("----------------------------------------------------------");
System.out.println("排序后:");
printArray(this.arr);
System.out.println("**********************************************************");
} /**
* 测试选择排序
*/
public void testSelectionSort(){
System.out.println("【 选择排序 】");
System.out.println("排序前:");
printArray(this.arr);
System.out.println("----------------------------------------------------------");
System.out.println("排序中:");
this.selectionSort(this.arr);
System.out.println("----------------------------------------------------------");
System.out.println("排序后:");
printArray(this.arr);
System.out.println("**********************************************************");
} /**
* 冒泡排序
* @param arr
*/
public void bubbleSort(Integer[] arr) {
for (int x = 0; x < arr.length - 1; x++) {
for (int y = 0; y < arr.length - x - 1; y++) { // -x是为了减少循环的次数,-1是为了防止ArrayIndexOutOfBoundsException。
// 升序
if (arr[y] > arr[y+1]) {
swap(arr, y, y+1);
}
// 记录
System.out.println("当 x=" + x + ",y=" + y + " 时:");
printArray(arr);
} }
} /**
* 选择排序
* @param arr
*/
public void selectionSort(Integer[] arr) {
for (int x = 0; x < arr.length; x++) {
for (int y = x + 1; y < arr.length; y++) {
// 升序
if (arr[x] > arr[y]) {
swap(arr, x, y);
}
// 记录
System.out.println("当 x=" + x + ",y=" + y + " 时:");
printArray(arr);
}
}
} /**
* 交换位置
* @param arr
* @param indexA
* @param indexB
*/
public void swap(Object[] arr, int indexA, int indexB){
Object temp = arr[indexA];
arr[indexA] = arr[indexB];
arr[indexB] = temp;
} /**
* 打印数组
* @param arr
*/
public void printArray(Object[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.println("\tarr[" + i + "] --> " + arr[i]);
}
}
}

三、执行结果

【 冒泡排序 】

排序前:

    arr[0] --> 9

    arr[1] --> 8

    arr[2] --> 7

    arr[3] --> 6

    arr[4] --> 5

    arr[5] --> 4

    arr[6] --> 3

    arr[7] --> 2

    arr[8] --> 1

    arr[9] --> 0

----------------------------------------------------------

排序中:

当 x=0,y=0 时:

    arr[0] --> 8

    arr[1] --> 9

    arr[2] --> 7

    arr[3] --> 6

    arr[4] --> 5

    arr[5] --> 4

    arr[6] --> 3

    arr[7] --> 2

    arr[8] --> 1

    arr[9] --> 0

当 x=0,y=1 时:

    arr[0] --> 8

    arr[1] --> 7

    arr[2] --> 9

    arr[3] --> 6

    arr[4] --> 5

    arr[5] --> 4

    arr[6] --> 3

    arr[7] --> 2

    arr[8] --> 1

    arr[9] --> 0

当 x=0,y=2 时:

    arr[0] --> 8

    arr[1] --> 7

    arr[2] --> 6

    arr[3] --> 9

    arr[4] --> 5

    arr[5] --> 4

    arr[6] --> 3

    arr[7] --> 2

    arr[8] --> 1

    arr[9] --> 0

当 x=0,y=3 时:

    arr[0] --> 8

    arr[1] --> 7

    arr[2] --> 6

    arr[3] --> 5

    arr[4] --> 9

    arr[5] --> 4

    arr[6] --> 3

    arr[7] --> 2

    arr[8] --> 1

    arr[9] --> 0

当 x=0,y=4 时:

    arr[0] --> 8

    arr[1] --> 7

    arr[2] --> 6

    arr[3] --> 5

    arr[4] --> 4

    arr[5] --> 9

    arr[6] --> 3

    arr[7] --> 2

    arr[8] --> 1

    arr[9] --> 0

当 x=0,y=5 时:

    arr[0] --> 8

    arr[1] --> 7

    arr[2] --> 6

    arr[3] --> 5

    arr[4] --> 4

    arr[5] --> 3

    arr[6] --> 9

    arr[7] --> 2

    arr[8] --> 1

    arr[9] --> 0

当 x=0,y=6 时:

    arr[0] --> 8

    arr[1] --> 7

    arr[2] --> 6

    arr[3] --> 5

    arr[4] --> 4

    arr[5] --> 3

    arr[6] --> 2

    arr[7] --> 9

    arr[8] --> 1

    arr[9] --> 0

当 x=0,y=7 时:

    arr[0] --> 8

    arr[1] --> 7

    arr[2] --> 6

    arr[3] --> 5

    arr[4] --> 4

    arr[5] --> 3

    arr[6] --> 2

    arr[7] --> 1

    arr[8] --> 9

    arr[9] --> 0

当 x=0,y=8 时:

    arr[0] --> 8

    arr[1] --> 7

    arr[2] --> 6

    arr[3] --> 5

    arr[4] --> 4

    arr[5] --> 3

    arr[6] --> 2

    arr[7] --> 1

    arr[8] --> 0

    arr[9] --> 9

当 x=1,y=0 时:

    arr[0] --> 7

    arr[1] --> 8

    arr[2] --> 6

    arr[3] --> 5

    arr[4] --> 4

    arr[5] --> 3

    arr[6] --> 2

    arr[7] --> 1

    arr[8] --> 0

    arr[9] --> 9

当 x=1,y=1 时:

    arr[0] --> 7

    arr[1] --> 6

    arr[2] --> 8

    arr[3] --> 5

    arr[4] --> 4

    arr[5] --> 3

    arr[6] --> 2

    arr[7] --> 1

    arr[8] --> 0

    arr[9] --> 9

当 x=1,y=2 时:

    arr[0] --> 7

    arr[1] --> 6

    arr[2] --> 5

    arr[3] --> 8

    arr[4] --> 4

    arr[5] --> 3

    arr[6] --> 2

    arr[7] --> 1

    arr[8] --> 0

    arr[9] --> 9

当 x=1,y=3 时:

    arr[0] --> 7

    arr[1] --> 6

    arr[2] --> 5

    arr[3] --> 4

    arr[4] --> 8

    arr[5] --> 3

    arr[6] --> 2

    arr[7] --> 1

    arr[8] --> 0

    arr[9] --> 9

当 x=1,y=4 时:

    arr[0] --> 7

    arr[1] --> 6

    arr[2] --> 5

    arr[3] --> 4

    arr[4] --> 3

    arr[5] --> 8

    arr[6] --> 2

    arr[7] --> 1

    arr[8] --> 0

    arr[9] --> 9

当 x=1,y=5 时:

    arr[0] --> 7

    arr[1] --> 6

    arr[2] --> 5

    arr[3] --> 4

    arr[4] --> 3

    arr[5] --> 2

    arr[6] --> 8

    arr[7] --> 1

    arr[8] --> 0

    arr[9] --> 9

当 x=1,y=6 时:

    arr[0] --> 7

    arr[1] --> 6

    arr[2] --> 5

    arr[3] --> 4

    arr[4] --> 3

    arr[5] --> 2

    arr[6] --> 1

    arr[7] --> 8

    arr[8] --> 0

    arr[9] --> 9

当 x=1,y=7 时:

    arr[0] --> 7

    arr[1] --> 6

    arr[2] --> 5

    arr[3] --> 4

    arr[4] --> 3

    arr[5] --> 2

    arr[6] --> 1

    arr[7] --> 0

    arr[8] --> 8

    arr[9] --> 9

当 x=2,y=0 时:

    arr[0] --> 6

    arr[1] --> 7

    arr[2] --> 5

    arr[3] --> 4

    arr[4] --> 3

    arr[5] --> 2

    arr[6] --> 1

    arr[7] --> 0

    arr[8] --> 8

    arr[9] --> 9

当 x=2,y=1 时:

    arr[0] --> 6

    arr[1] --> 5

    arr[2] --> 7

    arr[3] --> 4

    arr[4] --> 3

    arr[5] --> 2

    arr[6] --> 1

    arr[7] --> 0

    arr[8] --> 8

    arr[9] --> 9

当 x=2,y=2 时:

    arr[0] --> 6

    arr[1] --> 5

    arr[2] --> 4

    arr[3] --> 7

    arr[4] --> 3

    arr[5] --> 2

    arr[6] --> 1

    arr[7] --> 0

    arr[8] --> 8

    arr[9] --> 9

当 x=2,y=3 时:

    arr[0] --> 6

    arr[1] --> 5

    arr[2] --> 4

    arr[3] --> 3

    arr[4] --> 7

    arr[5] --> 2

    arr[6] --> 1

    arr[7] --> 0

    arr[8] --> 8

    arr[9] --> 9

当 x=2,y=4 时:

    arr[0] --> 6

    arr[1] --> 5

    arr[2] --> 4

    arr[3] --> 3

    arr[4] --> 2

    arr[5] --> 7

    arr[6] --> 1

    arr[7] --> 0

    arr[8] --> 8

    arr[9] --> 9

当 x=2,y=5 时:

    arr[0] --> 6

    arr[1] --> 5

    arr[2] --> 4

    arr[3] --> 3

    arr[4] --> 2

    arr[5] --> 1

    arr[6] --> 7

    arr[7] --> 0

    arr[8] --> 8

    arr[9] --> 9

当 x=2,y=6 时:

    arr[0] --> 6

    arr[1] --> 5

    arr[2] --> 4

    arr[3] --> 3

    arr[4] --> 2

    arr[5] --> 1

    arr[6] --> 0

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=3,y=0 时:

    arr[0] --> 5

    arr[1] --> 6

    arr[2] --> 4

    arr[3] --> 3

    arr[4] --> 2

    arr[5] --> 1

    arr[6] --> 0

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=3,y=1 时:

    arr[0] --> 5

    arr[1] --> 4

    arr[2] --> 6

    arr[3] --> 3

    arr[4] --> 2

    arr[5] --> 1

    arr[6] --> 0

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=3,y=2 时:

    arr[0] --> 5

    arr[1] --> 4

    arr[2] --> 3

    arr[3] --> 6

    arr[4] --> 2

    arr[5] --> 1

    arr[6] --> 0

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=3,y=3 时:

    arr[0] --> 5

    arr[1] --> 4

    arr[2] --> 3

    arr[3] --> 2

    arr[4] --> 6

    arr[5] --> 1

    arr[6] --> 0

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=3,y=4 时:

    arr[0] --> 5

    arr[1] --> 4

    arr[2] --> 3

    arr[3] --> 2

    arr[4] --> 1

    arr[5] --> 6

    arr[6] --> 0

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=3,y=5 时:

    arr[0] --> 5

    arr[1] --> 4

    arr[2] --> 3

    arr[3] --> 2

    arr[4] --> 1

    arr[5] --> 0

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=4,y=0 时:

    arr[0] --> 4

    arr[1] --> 5

    arr[2] --> 3

    arr[3] --> 2

    arr[4] --> 1

    arr[5] --> 0

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=4,y=1 时:

    arr[0] --> 4

    arr[1] --> 3

    arr[2] --> 5

    arr[3] --> 2

    arr[4] --> 1

    arr[5] --> 0

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=4,y=2 时:

    arr[0] --> 4

    arr[1] --> 3

    arr[2] --> 2

    arr[3] --> 5

    arr[4] --> 1

    arr[5] --> 0

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=4,y=3 时:

    arr[0] --> 4

    arr[1] --> 3

    arr[2] --> 2

    arr[3] --> 1

    arr[4] --> 5

    arr[5] --> 0

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=4,y=4 时:

    arr[0] --> 4

    arr[1] --> 3

    arr[2] --> 2

    arr[3] --> 1

    arr[4] --> 0

    arr[5] --> 5

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=5,y=0 时:

    arr[0] --> 3

    arr[1] --> 4

    arr[2] --> 2

    arr[3] --> 1

    arr[4] --> 0

    arr[5] --> 5

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=5,y=1 时:

    arr[0] --> 3

    arr[1] --> 2

    arr[2] --> 4

    arr[3] --> 1

    arr[4] --> 0

    arr[5] --> 5

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=5,y=2 时:

    arr[0] --> 3

    arr[1] --> 2

    arr[2] --> 1

    arr[3] --> 4

    arr[4] --> 0

    arr[5] --> 5

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=5,y=3 时:

    arr[0] --> 3

    arr[1] --> 2

    arr[2] --> 1

    arr[3] --> 0

    arr[4] --> 4

    arr[5] --> 5

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=6,y=0 时:

    arr[0] --> 2

    arr[1] --> 3

    arr[2] --> 1

    arr[3] --> 0

    arr[4] --> 4

    arr[5] --> 5

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=6,y=1 时:

    arr[0] --> 2

    arr[1] --> 1

    arr[2] --> 3

    arr[3] --> 0

    arr[4] --> 4

    arr[5] --> 5

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=6,y=2 时:

    arr[0] --> 2

    arr[1] --> 1

    arr[2] --> 0

    arr[3] --> 3

    arr[4] --> 4

    arr[5] --> 5

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=7,y=0 时:

    arr[0] --> 1

    arr[1] --> 2

    arr[2] --> 0

    arr[3] --> 3

    arr[4] --> 4

    arr[5] --> 5

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=7,y=1 时:

    arr[0] --> 1

    arr[1] --> 0

    arr[2] --> 2

    arr[3] --> 3

    arr[4] --> 4

    arr[5] --> 5

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

当 x=8,y=0 时:

    arr[0] --> 0

    arr[1] --> 1

    arr[2] --> 2

    arr[3] --> 3

    arr[4] --> 4

    arr[5] --> 5

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

----------------------------------------------------------

排序后:

    arr[0] --> 0

    arr[1] --> 1

    arr[2] --> 2

    arr[3] --> 3

    arr[4] --> 4

    arr[5] --> 5

    arr[6] --> 6

    arr[7] --> 7

    arr[8] --> 8

    arr[9] --> 9

**********************************************************

冒泡排序执行结果

【 选择排序 】

排序前:

    arr[0] --> 19

    arr[1] --> 18

    arr[2] --> 17

    arr[3] --> 16

    arr[4] --> 15

    arr[5] --> 14

    arr[6] --> 13

    arr[7] --> 12

    arr[8] --> 11

    arr[9] --> 10

----------------------------------------------------------

排序中:

当 x=0,y=1 时:

    arr[0] --> 18

    arr[1] --> 19

    arr[2] --> 17

    arr[3] --> 16

    arr[4] --> 15

    arr[5] --> 14

    arr[6] --> 13

    arr[7] --> 12

    arr[8] --> 11

    arr[9] --> 10

当 x=0,y=2 时:

    arr[0] --> 17

    arr[1] --> 19

    arr[2] --> 18

    arr[3] --> 16

    arr[4] --> 15

    arr[5] --> 14

    arr[6] --> 13

    arr[7] --> 12

    arr[8] --> 11

    arr[9] --> 10

当 x=0,y=3 时:

    arr[0] --> 16

    arr[1] --> 19

    arr[2] --> 18

    arr[3] --> 17

    arr[4] --> 15

    arr[5] --> 14

    arr[6] --> 13

    arr[7] --> 12

    arr[8] --> 11

    arr[9] --> 10

当 x=0,y=4 时:

    arr[0] --> 15

    arr[1] --> 19

    arr[2] --> 18

    arr[3] --> 17

    arr[4] --> 16

    arr[5] --> 14

    arr[6] --> 13

    arr[7] --> 12

    arr[8] --> 11

    arr[9] --> 10

当 x=0,y=5 时:

    arr[0] --> 14

    arr[1] --> 19

    arr[2] --> 18

    arr[3] --> 17

    arr[4] --> 16

    arr[5] --> 15

    arr[6] --> 13

    arr[7] --> 12

    arr[8] --> 11

    arr[9] --> 10

当 x=0,y=6 时:

    arr[0] --> 13

    arr[1] --> 19

    arr[2] --> 18

    arr[3] --> 17

    arr[4] --> 16

    arr[5] --> 15

    arr[6] --> 14

    arr[7] --> 12

    arr[8] --> 11

    arr[9] --> 10

当 x=0,y=7 时:

    arr[0] --> 12

    arr[1] --> 19

    arr[2] --> 18

    arr[3] --> 17

    arr[4] --> 16

    arr[5] --> 15

    arr[6] --> 14

    arr[7] --> 13

    arr[8] --> 11

    arr[9] --> 10

当 x=0,y=8 时:

    arr[0] --> 11

    arr[1] --> 19

    arr[2] --> 18

    arr[3] --> 17

    arr[4] --> 16

    arr[5] --> 15

    arr[6] --> 14

    arr[7] --> 13

    arr[8] --> 12

    arr[9] --> 10

当 x=0,y=9 时:

    arr[0] --> 10

    arr[1] --> 19

    arr[2] --> 18

    arr[3] --> 17

    arr[4] --> 16

    arr[5] --> 15

    arr[6] --> 14

    arr[7] --> 13

    arr[8] --> 12

    arr[9] --> 11

当 x=1,y=2 时:

    arr[0] --> 10

    arr[1] --> 18

    arr[2] --> 19

    arr[3] --> 17

    arr[4] --> 16

    arr[5] --> 15

    arr[6] --> 14

    arr[7] --> 13

    arr[8] --> 12

    arr[9] --> 11

当 x=1,y=3 时:

    arr[0] --> 10

    arr[1] --> 17

    arr[2] --> 19

    arr[3] --> 18

    arr[4] --> 16

    arr[5] --> 15

    arr[6] --> 14

    arr[7] --> 13

    arr[8] --> 12

    arr[9] --> 11

当 x=1,y=4 时:

    arr[0] --> 10

    arr[1] --> 16

    arr[2] --> 19

    arr[3] --> 18

    arr[4] --> 17

    arr[5] --> 15

    arr[6] --> 14

    arr[7] --> 13

    arr[8] --> 12

    arr[9] --> 11

当 x=1,y=5 时:

    arr[0] --> 10

    arr[1] --> 15

    arr[2] --> 19

    arr[3] --> 18

    arr[4] --> 17

    arr[5] --> 16

    arr[6] --> 14

    arr[7] --> 13

    arr[8] --> 12

    arr[9] --> 11

当 x=1,y=6 时:

    arr[0] --> 10

    arr[1] --> 14

    arr[2] --> 19

    arr[3] --> 18

    arr[4] --> 17

    arr[5] --> 16

    arr[6] --> 15

    arr[7] --> 13

    arr[8] --> 12

    arr[9] --> 11

当 x=1,y=7 时:

    arr[0] --> 10

    arr[1] --> 13

    arr[2] --> 19

    arr[3] --> 18

    arr[4] --> 17

    arr[5] --> 16

    arr[6] --> 15

    arr[7] --> 14

    arr[8] --> 12

    arr[9] --> 11

当 x=1,y=8 时:

    arr[0] --> 10

    arr[1] --> 12

    arr[2] --> 19

    arr[3] --> 18

    arr[4] --> 17

    arr[5] --> 16

    arr[6] --> 15

    arr[7] --> 14

    arr[8] --> 13

    arr[9] --> 11

当 x=1,y=9 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 19

    arr[3] --> 18

    arr[4] --> 17

    arr[5] --> 16

    arr[6] --> 15

    arr[7] --> 14

    arr[8] --> 13

    arr[9] --> 12

当 x=2,y=3 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 18

    arr[3] --> 19

    arr[4] --> 17

    arr[5] --> 16

    arr[6] --> 15

    arr[7] --> 14

    arr[8] --> 13

    arr[9] --> 12

当 x=2,y=4 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 17

    arr[3] --> 19

    arr[4] --> 18

    arr[5] --> 16

    arr[6] --> 15

    arr[7] --> 14

    arr[8] --> 13

    arr[9] --> 12

当 x=2,y=5 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 16

    arr[3] --> 19

    arr[4] --> 18

    arr[5] --> 17

    arr[6] --> 15

    arr[7] --> 14

    arr[8] --> 13

    arr[9] --> 12

当 x=2,y=6 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 15

    arr[3] --> 19

    arr[4] --> 18

    arr[5] --> 17

    arr[6] --> 16

    arr[7] --> 14

    arr[8] --> 13

    arr[9] --> 12

当 x=2,y=7 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 14

    arr[3] --> 19

    arr[4] --> 18

    arr[5] --> 17

    arr[6] --> 16

    arr[7] --> 15

    arr[8] --> 13

    arr[9] --> 12

当 x=2,y=8 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 13

    arr[3] --> 19

    arr[4] --> 18

    arr[5] --> 17

    arr[6] --> 16

    arr[7] --> 15

    arr[8] --> 14

    arr[9] --> 12

当 x=2,y=9 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 19

    arr[4] --> 18

    arr[5] --> 17

    arr[6] --> 16

    arr[7] --> 15

    arr[8] --> 14

    arr[9] --> 13

当 x=3,y=4 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 18

    arr[4] --> 19

    arr[5] --> 17

    arr[6] --> 16

    arr[7] --> 15

    arr[8] --> 14

    arr[9] --> 13

当 x=3,y=5 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 17

    arr[4] --> 19

    arr[5] --> 18

    arr[6] --> 16

    arr[7] --> 15

    arr[8] --> 14

    arr[9] --> 13

当 x=3,y=6 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 16

    arr[4] --> 19

    arr[5] --> 18

    arr[6] --> 17

    arr[7] --> 15

    arr[8] --> 14

    arr[9] --> 13

当 x=3,y=7 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 15

    arr[4] --> 19

    arr[5] --> 18

    arr[6] --> 17

    arr[7] --> 16

    arr[8] --> 14

    arr[9] --> 13

当 x=3,y=8 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 14

    arr[4] --> 19

    arr[5] --> 18

    arr[6] --> 17

    arr[7] --> 16

    arr[8] --> 15

    arr[9] --> 13

当 x=3,y=9 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 19

    arr[5] --> 18

    arr[6] --> 17

    arr[7] --> 16

    arr[8] --> 15

    arr[9] --> 14

当 x=4,y=5 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 18

    arr[5] --> 19

    arr[6] --> 17

    arr[7] --> 16

    arr[8] --> 15

    arr[9] --> 14

当 x=4,y=6 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 17

    arr[5] --> 19

    arr[6] --> 18

    arr[7] --> 16

    arr[8] --> 15

    arr[9] --> 14

当 x=4,y=7 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 16

    arr[5] --> 19

    arr[6] --> 18

    arr[7] --> 17

    arr[8] --> 15

    arr[9] --> 14

当 x=4,y=8 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 15

    arr[5] --> 19

    arr[6] --> 18

    arr[7] --> 17

    arr[8] --> 16

    arr[9] --> 14

当 x=4,y=9 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 14

    arr[5] --> 19

    arr[6] --> 18

    arr[7] --> 17

    arr[8] --> 16

    arr[9] --> 15

当 x=5,y=6 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 14

    arr[5] --> 18

    arr[6] --> 19

    arr[7] --> 17

    arr[8] --> 16

    arr[9] --> 15

当 x=5,y=7 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 14

    arr[5] --> 17

    arr[6] --> 19

    arr[7] --> 18

    arr[8] --> 16

    arr[9] --> 15

当 x=5,y=8 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 14

    arr[5] --> 16

    arr[6] --> 19

    arr[7] --> 18

    arr[8] --> 17

    arr[9] --> 15

当 x=5,y=9 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 14

    arr[5] --> 15

    arr[6] --> 19

    arr[7] --> 18

    arr[8] --> 17

    arr[9] --> 16

当 x=6,y=7 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 14

    arr[5] --> 15

    arr[6] --> 18

    arr[7] --> 19

    arr[8] --> 17

    arr[9] --> 16

当 x=6,y=8 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 14

    arr[5] --> 15

    arr[6] --> 17

    arr[7] --> 19

    arr[8] --> 18

    arr[9] --> 16

当 x=6,y=9 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 14

    arr[5] --> 15

    arr[6] --> 16

    arr[7] --> 19

    arr[8] --> 18

    arr[9] --> 17

当 x=7,y=8 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 14

    arr[5] --> 15

    arr[6] --> 16

    arr[7] --> 18

    arr[8] --> 19

    arr[9] --> 17

当 x=7,y=9 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 14

    arr[5] --> 15

    arr[6] --> 16

    arr[7] --> 17

    arr[8] --> 19

    arr[9] --> 18

当 x=8,y=9 时:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 14

    arr[5] --> 15

    arr[6] --> 16

    arr[7] --> 17

    arr[8] --> 18

    arr[9] --> 19

----------------------------------------------------------

排序后:

    arr[0] --> 10

    arr[1] --> 11

    arr[2] --> 12

    arr[3] --> 13

    arr[4] --> 14

    arr[5] --> 15

    arr[6] --> 16

    arr[7] --> 17

    arr[8] --> 18

    arr[9] --> 19

**********************************************************

选择排序执行结果

Java版冒泡排序和选择排序的更多相关文章

  1. java实现冒泡排序,选择排序,插入排序,快速排序(简洁版)及性能测试

    1.冒泡排序是排序里面最简单的了,但性能也最差,数量小的时候还可以,数量一多,是非常慢的. 它的时间复杂度是O(n*n),空间复杂度是O(1) 代码如下,很好理解. public void bubbl ...

  2. java:冒泡排序、选择排序、插入排序实现

    整数排序 给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法. 样例 样例 1: 输入: [3, 2, 1, 4, 5] 输出: [1, 2, 3, 4, 5] ...

  3. Java实现冒泡排序,选择排序,插入排序

    冒泡排序: 思想: 冒泡排序重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说排序完成 特点:比较稳定,排序数较小是 ...

  4. 冒泡排序与选择排序(经典版)----java基础总结

    前言:关于冒泡排序和选择排序,每次写的时候都要再看看他们的概念,这次,就自己写明白 1.冒泡排序: 其实冒泡排序应该用例子证明,设数组长度为N. 1.比较相邻的前后二个数据,如果前面数据大于后面的数据 ...

  5. [Java算法] -- 1. 常用排序之冒泡排序和选择排序

    使用Java语言实现冒泡排序和选择排序 推荐一个数据结构可视化的网站:http://zh.visualgo.net/zh (暂时访问不了) 对排序不太熟悉的朋友,建议去上面的网站学习一下,你将会发现一 ...

  6. java面向对象的冒泡排序,选择排序和插入排序的比较

    这三种排序有俩个过程: 1.比较俩个数据. 2.交换俩个数据或复制其中一项. 这三种排序的时间级别 冒泡排序:比较 (N-1)+(N-2)+...+2+1 = N*(N-1)/2=N2/2 交换  0 ...

  7. 冒泡排序、选择排序、直接插入排序、快速排序、折半查找>从零开始学JAVA系列

    目录 冒泡排序.选择排序.直接插入排序 冒泡排序 选择排序 选择排序与冒泡排序的注意事项 小案例,使用选择排序完成对对象的排序 直接插入排序(插入排序) 快速排序(比较排序中效率最高的一种排序) 折半 ...

  8. Java数据结构和算法总结-冒泡排序、选择排序、插入排序算法分析

    前言:排序在算法中的地位自然不必多说,在许多工作中都用到了排序,就像学生成绩统计名次.商城商品销量排名.新闻的搜索热度排名等等.也正因为排序的应用范围如此之广,引起了许多人深入研究它的兴趣,直至今天, ...

  9. Java排序算法分析与实现:快排、冒泡排序、选择排序、插入排序、归并排序(二)

    一.概述: 上篇博客介绍了常见简单算法:冒泡排序.选择排序和插入排序.本文介绍高级排序算法:快速排序和归并排序.在开始介绍算法之前,首先介绍高级算法所需要的基础知识:划分.递归,并顺带介绍二分查找算法 ...

随机推荐

  1. python-igraph on windows10 64bit

    igraph安装记录: 在http://www.lfd.uci.edu/~gohlke/pythonlibs/找到对应版本的python-igraph 这里是anaconda的python2.7.11 ...

  2. Android中ListView下拉刷新的实现

    ListView中的下拉刷新是非常常见的,也是经常使用的,看到有很多同学想要,那我就整理一下,供大家参考.那我就不解释,直接上代码了. 这里需要自己重写一下ListView,重写代码如下: packa ...

  3. 如何保存PDF、Word和Excel文件到数据库中

    在项目中,有时候我们很需要把PDF.Word和Excel文档等等上传到数据库,以便日后使用.今天这篇文章向大家讲解如何将这些文件保存到数据库的. 详细步骤 第一步:打开数据库,单击新建查询,创建一个名 ...

  4. Nodejs --我自己的学习笔记

    对于Nodejs,相信客官并不陌生,网上却已众说纷纭,有人说是一个平台,有人说是服务器JavaScript,有人说一个框架… 之前亦有过研究,多怀可远观而不可亵玩也.高效率,I/O操作,异步编程,以及 ...

  5. Myeclipse 2016 CI 6 破解

    Myeclipse 2016 CI 6 破解 2016-10-11 分类:Javaweb后台 / JSP / 首页 阅读(1633) 评论(16)  之前写了myeclipse 2015 stable ...

  6. 关于C/C++中的“auto”

    C/C++ 98标准 C++03标准 意思完全一样:auto被解释为一个自动存储变量的关键字,也就是申明一块临时的变量内存.auto的出现意味着,当前变量的作用域为当前函数或代码段的局部变量,意味着当 ...

  7. CMD杀进程 例如:杀8080端口的进程

    首先:端口被占用的报错形式如下 说明8080端口被占用 解决方案一:查找pid,根据pid去任务管理器的进程中结束占用8080端口号的进程 1.首先按快捷键windows+R,在运行框里输入cmd,如 ...

  8. Python2 基于urllib2 的HTTP请求类

    一个利用urllib2模块编写的下载器,虽然有了requests模块,但是毕竟标准库 import urllib2,random class strong_down(): def __init__(s ...

  9. iOS NSNotificationCenter 移除通知带来的crash

    Where to remove observer for NSNotification? 在dealloc方法中移除通知观察者带来crash NSNotificationCenter中的通知消息已经发 ...

  10. shell 文件中列的整合成一个文件

    原文件 第一种方法 [root@wxb- jt]# paste -d "," b c d ,q, , ,e, ,r, ,t, [root@wxb- jt]# paste b c d ...