Java对数组元素降序排序

1 说明

在此程序中,我们需要按降序对给定数组进行排序,以便将元素从大到小排列。这可以通过两个循环来实现。外循环将选择一个元素,而内循环则允许我们将所选元素与其余元素进行比较。

元素的排序方式是,最大元素将出现在最左端,在这种情况下为8。最小元素将出现在最右端,在这种情况下为1。

2 算法思路

  • 步骤1:开始
  • 步骤2:初始化arr [] = {5、2、8、7、1}。
  • 步骤3: SET TEMP = 0
  • 步骤4:打印“Elements of Original Array”
  • 步骤5:重复步骤6直到i <arr.length
                // for(i = 0; i <arr.length; i ++)
  • 步骤6:列印arr [i]
  • 步骤7:将步骤8重复到步骤9直到i <arr.length
                // for(i = 0; i <arr.length; i ++)
  • 步骤8:重复步骤9直到j <arr.length
                //for(j=i+1;j<arr.length;j++)
  • 步骤9: if(arr [i] <arr [j])则
                temp = arr [i]
                arr [i] = arr [j]
                arr [j] = temp
  • 第10步:打印新行
  • 步骤11:打印“Elements of array sorted in descending order”
  • 步骤12:重复步骤13直到i <arr.length
                //for(i=0;i<arr.length;i++)
  • 步骤13:列印arr [i]
  • 步骤14:结束

3 程序实现

/**
 * 一点教程网: http://www.yiidian.com
 */
public class SortDsc {    
    public static void main(String[] args) {        
        //Initialize array     
        int [] arr = new int [] {5, 2, 8, 7, 1};     
        int temp = 0;    
            
        //Displaying elements of original array    
        System.out.println("Elements of original array: ");    
        for (int i = 0; i < arr.length; i++) {     
            System.out.print(arr[i] + " ");    
        }    
            
        //Sort the array in descending order    
        for (int i = 0; i < arr.length; i++) {     
            for (int j = i+1; j < arr.length; j++) {     
               if(arr[i] < arr[j]) {    
                   temp = arr[i];    
                   arr[i] = arr[j];    
                   arr[j] = temp;    
               }     
            }     
        }    
            
        System.out.println();    
            
        //Displaying elements of array after sorting    
        System.out.println("Elements of array sorted in descending order: ");    
        for (int i = 0; i < arr.length; i++) {     
            System.out.print(arr[i] + " ");    
        }    
    }    
}  

以上代码输出结果为:

Elements of original array:
5 2 8 7 1
Elements of array sorted in descending order:
8 7 5 2 1

 

热门文章

优秀文章