//比如:第一次先找到最大的数并记下其位置,如果其不在数组第一位,
//则将其与第一位交换,使最大数置于第一位
//第二次再循环查找第二大的数并记下其位置,如果其不在数组第二位,
//则将其与第二位交换,使最大数置于第二位
//依次类推.........................................
//第i次再循环查找第i大的数并记下其位置,如果其不在数组第 i位,
//则将其与第 i位交换,使最大数置于第 i位
public class SelectSort {
public static void main(String[] args) {
int[] a = {25,15,42,16,12,36}
int max = 0
int tmp = 0
for(int i=0i<a.lengthi++){
max = i//
/**查找第 i大的数,直到记下第 i大数的位置***/
for(int j=i+1j<a.lengthj++){
if(a[max]<a[j])
max = j//记下较大数位置,再次比较,直到最大
}
/***如果第 i大数的位置不在 i,则交换****/
if(i!=max){
tmp = a[i]
a[i] = a[max]
a[max] = tmp
}
}
for(int i=0i<a.lengthi++)
System.out.print(a[i]+" ")
}
}
//第一种int[]a ={5,3,2,4,6,1,8,7,9}
Arrays.sort(a)
//冒泡排序
int[]a ={5,3,2,4,6,1,8,7,9}
int temp=0
for(int i=0i<a.length-1i++){
for(int j=0j<a.length-1-ij++){
if(a[j]>a[j+1]){
temp=a[j]
a[j]=a[j+1]
a[j+1]=temp
}
}
}
//选择排序
int[]args1 ={5,3,2,4,6,1,8,7,9}
for (int i=0i<args1.length-1 i++ ){
int min=i
for (int j=i+1j<args1.length j++ ){
if (args1[min]>args1[j]){
min=j
}
}
if (min!=i){
int temp=args1[i]
args1[i]=args1[min]
args1[min]=temp
}
}
//插入排序
int[]args1 ={5,3,2,4,6,1,8,7,9}
for(int i=1i<args1.lengthi++){
for(int j=ij>0j--){
if (args1[j]<args1[j-1]){
int temp=args1[j-1]
args1[j-1]=args1[j]
args1[j]=temp
}else break
}
}