Giả sử rằng mảng ban đầu gồm các phần tử là: 5,9,7,2,3,6,9,1,0 và ta cần sắp xếp dãy trên hay mảng trên theo chiều các chữ số tăng dần.

Để thực hiện việc sắp xếp dãy trên theo chiều tăng dần, ta cần thực hiện các bước lặp và thực hiện kiểm tra điều kiện.

Ta chọn lần lượt các phần tử có trong mảng và chọn từ phần tử đầu tiên đến phần tử gần cuối của mảng trên để đem so sánh với các phần tử còn lại trong mảng , nếu phần tử đang được chọn lớn hơn phần tử bất kỳ nào nằm trong danh sách thì sẽ thực hiện đổi chỗ hay hoán vị vị trí cho hai phần tử này, ngược lại thì giữ nguyên vị trí

Chương trình sắp xếp tăng dần các phần tử trong mảng ngôn ngữ C/C++

#include <stdio.h>
int main(){
    //khai bao so luong phan tu
    int n = 10;
    //khai bao mang
    int number[n] = {8,5,2,6,9,3,1,4,0,7};
    //khai bao bien trung gian de hoan vi
    int trunggian;
    //hien thi mang ban dau
    printf("MANG BAN DAU\n");
    for(int i = 0; i < n; i++){
        printf("%d \n", number[i]);
    }
    //thuc hien thuat toan sap xep chon
    for(int i = 0; i < n - 1; i++){
        for(int j = i + 1; j < n; j ++){
            //neu tim thay phan tu be hon phan tu dang xet thi doi cho 2 phan tu do cho nhau
            if(number[i] > number[j]){
                //hoan vi 2 phan tu
                trunggian = number[i];
                number[i] = number[j];
                number[j] = trunggian;
            }
        }
    }
    
    //hien thi mang sau khi sap xep tang dan
    printf("\nMANG SAU KHI SAP XEP TANG DAN\n");
    for(int i = 0; i < n; i++){
        printf("%d \n", number[i]);
    }
}

Hàm sắp xếp tăng dần các phần tử trong mảng ngôn ngữ C/C++

#include <stdio.h>
void SapXepTang(int number[], int n){
    //khai bao bien trung gian de hoan vi
    int trunggian;
    //thuc hien thuat toan sap xep chon
    for(int i = 0; i < n - 1; i++){
        for(int j = i + 1; j < n; j ++){
            //neu tim thay phan tu be hon phan tu dang xet thi doi cho 2 phan tu do cho nhau
            if(number[i] > number[j]){
                //hoan vi 2 phan tu
                trunggian = number[i];
                number[i] = number[j];
                number[j] = trunggian;
            }
        }
    }
}
int main(){
    //khai bao so luong phan tu
    int n = 10;
    //khai bao mang
    int number[n] = {8,5,2,6,9,3,1,4,0,7};
    //hien thi mang ban dau
    printf("MANG BAN DAU\n");
    for(int i = 0; i < n; i++){
        printf("%d \n", number[i]);
    }
    //goi ham sap xep tang va truyen vao mang can sap xep va so luong phan tu
    SapXepTang(number,n);
    //hien thi mang sau khi sap xep tang dan
    printf("\nMANG SAU KHI SAP XEP TANG DAN\n");
    for(int i = 0; i < n; i++){
        printf("%d \n", number[i]);
    }
}

By alaza7

Leave a Reply

Your email address will not be published. Required fields are marked *