(1)选择排序:首先在数组中查找最小值,如果该值不在第一个位置,将其和处在第一个位置的元素交换,然后从第二个位置重复,将剩下元素中的最小值交换到第二个位置,当到最后一位时,数组排序结束。
static void selectionSort(int[] array){
for(int i=0;i<array.length-1;i++){
int min_Index=i;
for(int j=i;j<array.length;j++){
if(array[min_Index]>array[j]){
min_Index=j;
}
}
if(min_Index!=i){
int temp=array[i];
array[i]=array[min_Index];
array[min_Index]=temp;
}
}
}
(2)冒泡排序:每比较一趟,就会以交换位置的方式将该趟的最大者移向数组的尾端,像气泡从水底浮向水面一样,到水面时气泡最大。
static void bubbleSort(int[] array){
for(int i=0;i<array.length-1;i++){
for(int j=i;j<array.length;j++){
if(array[j]>array[j+1]){
int temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
}
(3)插入排序:之前的元素已经排序好了,只需把元素插入。
static void insetSort(int[] array){
int in,out,len;
len=array.length;
for(out=1;out<len;out++){
in=out;
int temp=array[out];
while(in>0&&array[in-1]>temp){
array[in]=array[in-1];
--in;
}
array[in]=temp;
}
}