【Java練習】選擇排序

/* 
需求: 
對給定數組[11,5,69,2,8,1]進行排序。 
思路: 
1、用第一個數逐個與後面的數比較,遇到小的就交換,確定最小值放第一個位置; 
2、以此類推,第二小的放第二個位置,最後打印數組。
步驟: 
1、定義一個排序函數
(1)for (int i=0;i<arry.length-1;i++)和
for (int j=i+1;j<arry.length;j++)依次選擇數組;
(2)用 if (arry[j]<arry[i]) {}進行大小比較、調換位置。
2、定義一個打印函數
(1)先打印[
(2)若i!=arry.length-1則打印數組元素和逗號,否則打印最後的元素和]
3、在主函數內定義[11,5,69,2,8,1]並初始化,調用子函數,分別輸出排序前後的數組。
 */  
public  class XuanZePaiXu  
{  
    
    //定義排序函數
    static void PaiXu(int arry [])
    {
    	for (int i=0;i<arry.length-1;i++)
    	{
    		for (int j=i+1;j<arry.length;j++)
    		{

                if (arry[j]<arry[i])  
                    {  
                       int temp =arry[j];  
                       arry[j]=arry[i];  
                       arry[i]=temp;  
                    }  
    		}
    	}
    }

    //定義打印函數
    static void printarry(int [] arry)
    {
    	System.out.print("[");
    	for(int i=0;i<arry.length;i++)
    	{
    		if (i!=arry.length-1)
    			System.out.print(arry[i]+",");
    		else 
    			System.out.print(arry[i]+"]");
    	}
    }
    
   public static void main(String[] args) 
    
    {   
    	//調用子函數
        int [] arry= {11,5,69,2,8,1};
        System.out.print("排序前的數組:");
        printarry(arry);
        PaiXu(arry);
        System.out.println();
        System.out.print("排序後的數組:");
        printarry(arry);
       
        
     }  
      
}  
  

 

發佈了75 篇原創文章 · 獲贊 47 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章