數組的幾種排序
數組排序
1、幾種重要的排序
冒泡排序
*比較相鄰的元素,如果第一個比第二個大,就交換他們兩個。
*對每一個相鄰元素做同樣的工作,從開始第一對到結尾的最後一對,在這一點,最後的元素應該會是最大的數。
*針對所有的元素重復以上的步驟,除了最後一個。
*持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。
public static void main(String[] args){
int[] array=new {32,14,24,68,58};
array=bubblesort(array);
System.out.println("排序完成後,最終的結果"+Arrays.toString(array));
}
public static int[] bubbleSort(int[] array){
for(int i= 0;i<array.length-1;i++){
for(int j =0;j<aray.length-1-i;j++){
if(array[j+1]<aray[j]){
array[j]=array[j]^array[j+1];
array[j+1]=array[j]^array[j+1];
array[j]=array[j]^array[j+1];
}
System.out.prinln(Arrays.toString(arayy);
}
}
return array;
}
2、直接排序
public static int[] chooseSort(int [] array){
for(int i =0;i<array.length-1;i++){
for(int j=i+1;j<aray.length;j++){
if(array[j]<array[i]){
int temp=aray[i];
array[i]=array[j];
array[j]=temp;
}
Syetem.out.println(Arrays.toString(array));
}
}
return array;
}
public static void main(String[] args){
int[] array={32,14,16,18,79};
array=chooseSort(array);
System.out.printly("排序完成後,最終的結果"+Arrays.toString(array));
}
數組中的字符交換位置
public static void reverseArray(char[] array){
int begin=0;
int end= array.length-1;
while(begin<end){
char temp=array[begin];
array[begin]=array[end];
array[end]=temp;
begin++;
end--;
}
}
public static void main(String[] args){
char[] array={‘h‘e‘l‘l‘o‘w‘r‘};
reverseArray(array);
System.out.println(Arrays.toString(array));
}
數組的幾種排序