排序

  • 2021 年 6 月 23 日
  • 筆記

輸入需要排序的個數,然後再輸入需要排序的數進行排序(從大到小)

 1 package XT;
 2 import java.util.Scanner;
 3 public class Yu3 {
 4     public static void main(String[]args){
 5         Scanner sc = new Scanner(System.in);
 6         System.out.print("請輸入需要排序的個數:");
 7         int a = sc.nextInt();
 8         int []b;
 9         b = new int [a];
10         System.out.println("請輸入需要排序的數:");
11         for(int i = 0;i<b.length;i++){
12             b[i] = sc.nextInt();
13         }
14         for(int i = 0;i<b.length-1;i++){
15             for(int j = i+1;j < b.length;j++){
16                 if(b[i] < b[j]){
17                     int temp;
18                     temp = b[i];
19                     b[i] = b[j];
20                     b[j] = temp;
21                 }
22             }
23         }
24         System.out.println("排序好的的數為:");
25         for(int i = 0; i<b.length; i++){
26             System.out.print(b[i]+" ");
27         }
28     }
29 
30 }

排序有兩種基本的方法,一種是選擇法一種是冒泡法,在此用的是選擇法,此法需注意的是,建立雙層循環,用外層的一個數與內層的所有數比較,到外層循環一次,最大的數被賦值第一個數,然後再用外層的第二個數與內層比較,外層第二次循環完第二大的數被賦值給第二個數,共經歷N(排序個數)-1次外層循環完成。