1.先設置數組長度,設置爲隨機數
int arr[] = new int[5];
for (int i = 0; i<arr.length;i++){
arr[i] = (int) (Math.random()*100);
System.out.println("隨機數:"+arr[i]);
}
2.1冒泡排序----倒序排列
冒泡思路:
- 從第一位開始,把相鄰兩位作比較,如果發現前面的數比後面的大,就把數 據交換到前面,第一位就是最大的
- 再來比較一次,只不過不用比較第一位數了
- 以此類推…
for (int i = 0; i<arr.length;i++){
for (int j = 0; j<arr.length-1;j++){
if (arr[j]<arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.println("冒泡排序倒序排列:"+ Arrays.toString(arr));
排序前的數組是:[38, 3, 16, 65, 14]
冒泡排序倒序排列:[65, 38, 16, 14, 3]
2.2 冒泡排序------正序排列
for (int i = 0;i<arr.length;i++){
for (int j = 0; j<arr.length-1-i;j++){
if (arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.println("冒泡排序:"+ Arrays.toString(arr));
排序前的數組是:[86, 75, 11, 8, 30]
冒泡排序正序排列:[8, 11, 30, 75, 86]
31.選擇排序—正序排列
選擇思路:
- 把第一位與其他所有數進行比較,只要是比第一位小的,就放在第一位上,這樣比較下來,第一位就是最小的
- 再用第二位數與其他所有數進行比較,比第二位小,就放在第二位上
- 以此類推…
for (int i = 0; i<arr.length;i++){
for (int j =i+1 ;j<arr.length;j++){
if (arr[i]>arr[j]){
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
System.out.println("選擇排序正序排列:"+Arrays.toString(arr));
排序前的數組是:[33, 7, 30, 66, 4]
選擇排序正序排列:[4, 7, 30, 33, 66]
3.2選擇排序—倒序排列
for (int i = 0; i<arr.length;i++){
for (int j =i+1 ;j<arr.length;j++){
if (arr[i]<arr[j]){
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
System.out.println("選擇排序倒序排列:"+Arrays.toString(arr));
排序前的數組是:[41, 33, 72, 59, 22]
選擇排序倒序排列:[72, 59, 41, 33, 22]