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]); } }