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
热门文章
优秀文章