(1)选择排序(从小到大)
1.理解:选择排序,让数组中的每一个数,依次与后面的数进行比较,如果前面的数大于后面的数,就进行位置的交换。这 种说法或许有些人看不明白。换个说法,选择排序:第一个数依次与
后面的数比较,第一次比较完之后最小的数在最前面 。
2.代码
import java.util.Arrays;
/**
* 练习排序-选择排序
* @author Administrator
*
*/
public class Dome2 {
public static void main(String[] args) {
//数组
int[] arr = {5,3,7,2,6,7,6,5,4,1,9,8};
//第一次循环,是确定一个数依次和后面数的比较的数。
for (int i = 0; i < arr.length -1 ; i++) {
//这个是和第一个数的比较的数
for (int j = i+1; j < arr.length; j++) {
//定义一个临时的变量,用来交换变量
int temp ;
if(arr[i]>arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
//打印最后的排序结果
System.out.println(Arrays.toString(arr));
}
}
(2)冒泡排序(从小到大)
1. 理解:相邻两个数进行比较,第一波比较后,最大的数在最后。(每比较完之后,后面的数就减少一个比较 )
2.代码
import java.util.Arrays;
/**
* 练习排序--冒泡排序
* @author Administrator
*
*/
public class Dome2 {
public static void main(String[] args) {
//数组
int[] arr = {5,3,7,2,6,7,6,5,4,1,9,8};
//外部循环
for(int i=0;i<arr.length-1;i++){
//相连两个数的索引是利用内部循环
for(int index=0;index<arr.length-1;index++){
//同样利用中间变量,注意区分与选择排序的区分
if(arr[index]>arr[index+1]){
int temp=arr[index];
arr[index]=arr[index+1];
arr[index+1]=temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
}