Nội dung chính
Bài tập Java - Sắp xếp mảng theo thứ tự giảm dần
Đề bài: Viết chương trình Java nhập một mảng số nguyên a0, a1, a2, …, an-1. Hãy sắp xếp mảng theo thứ tự giảm dần.
Lời giải
Sau đây là chương trình Java sắp xếp mảng theo thứ tự giảm dần:
File: BaiTap22.java
package vn.viettuts.baitap.array;
import java.util.Scanner;
/**
* Chương trình sắp xếp mảng số nguyên theo thứ tự giảm dần.
*
* @author viettuts.vn
*/
public class BaiTap23 {
public static Scanner scanner = new Scanner(System.in);
/**
* main
*
* @param args
*/
public static void main(String[] args) {
System.out.print("Nhập số phần tử của mảng: ");
int n = scanner.nextInt();
// khởi tạo arr
int [] arr = new int [n];
System.out.print("Nhập các phần tử của mảng: \n");
for (int i = 0; i < n; i++) {
System.out.printf("a[%d] = ", i);
arr[i] = scanner.nextInt();
}
// sắp xếp dãy số theo thứ tự giảm dần
sortDESC(arr);
System.out.println("Dãy số được sắp xếp giảm dần: ");
show(arr);
}
/**
* sắp xếp mảng số nguyên theo thứ tự giảm dần
*
* @param arr: mảng các số nguyên
* @param n: số phần tử của mảng
*/
public static void sortDESC(int [] arr) {
int temp = arr[0];
for (int i = 0 ; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] < arr[j]) {
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
}
/**
* in các phần tử của mảng ra màn hình
*
* @param arr: mảng các số nguyên
* @param n: số phần tử của mảng
*/
public static void show(int [] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
Kết quả:
Nhập số phần tử của mảng: 7 Nhập các phần tử của mảng: a[0] = 1 a[1] = 2 a[2] = 7 a[3] = 6 a[4] = 3 a[5] = 3 a[6] = 5 Dãy số được sắp xếp giảm dần: 7 6 5 3 3 2 1