Bài 68: Bài tập Java - Sắp xếp mảng theo thứ tự giảm dần

Ngày đăng: 1/2/2023 1:59:55 PM

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

1      

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

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: ");

        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 

Nguồn tin: viettuts