輸入一串數字,從大到小排序!
package com.moqi.test;
public class Prog {
public static void main(String[] args) {
int[] arr = {2, 34, 3, 22, 43, 4,23, 5, 56, 76};
System.out.println("排序前:");
for (int k = 0; k < arr.length; k++) {
System.out.print(" " + arr[k]);
}
System.out.println();
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
//數學轉化方式,判斷兩個數的大小
if (arr[i] < arr[j]) {
arr[i] = arr[i] + arr[j];
arr[j] = arr[i] - arr[j];
arr[i] = arr[i] - arr[j];
}
}
}
System.out.println("排序後:");
for (int k = 0; k < arr.length; k++) {
System.out.print(" " + arr[k]);
}
}
}
冒泡排序
public class Bubblesort {
public static void main(String[] args) {
int[] arr = new int[]{12,34,4,54,67};
//排序前的數組
System.out.println("排序前的數組元素爲:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
//冒泡排序法,相鄰兩個元素依次比較大的元素放在右邊小的放在左邊
for (int j = 1; j < arr.length-1; j++) {
for (int i = 0; i < arr.length-j; i++) {
if (arr[i] > arr[i+1]){
arr[i] = arr[i] + arr[i+1];
arr[i+1] = arr[i] - arr[i+1];
arr[i] = arr[i] - arr[i+1];
}
}
}
System.out.println();
System.out.println("排序後的數組元素爲:");
for (int i = 0; i < arr.length ; i++) {
System.out.print(" " + arr[i] );
}
}
直接排序
public class ChooseSort {
public static void main(String[] args) {
int[] arr = new int[] {21,2,34,4,54,23};
System.out.println("排序前的元素順序");
for (int i = 0; i < arr.length; i++) {
System.out.print(" "+arr[i]);
}
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i+1; j < arr.length; j++) {
if (arr[i] > arr[j]){
arr[i] = arr[i] + arr[j];
arr[j] = arr[i] - arr[j];
arr[i] = arr[i] - arr[j];
}
}
}
System.out.println();
System.out.println("排序後的元素順序");
for (int i = 0; i < arr.length; i++) {
System.out.print(" " + arr[i]);
}
}