Sắp xếp mảng tăng dần trong c

-

Trong bài này, phương pháp được sử dụng để sắp xếp mảng 1 chiều theo phần tử tăng dần hay giảm dần đó là phương pháp Selection Sort (sắp xếp chọn).

Bạn đang xem: Sắp xếp mảng tăng dần trong c

Giả sử rằng mảng ban đầu của tôi gồm các phần tử là: 5,9,7,2,3,6,9,10 và tôi 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.

Xem thêm: Xoá Ảnh Đã Chia Sẻ Trên Messenger Vĩnh Viễn, Cách Xóa Ảnh Đã Gửi Trên Messenger Vĩnh Viễn

*

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

Tôi 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í. Xem hình minh họa dưới đây:

*

Nguồn Sắp xếp chọn – Wiki

2.Sắp xếp tăng dần các phần tử trong mảng

Chương trình sắp xếp tăng dần các phần tử trong mảng 1 chiều, với mảng ban đầu là int number<10> = {8,5,2,6,9,3,1,4,0,7};

#include int main(){ //khai bao so luong phan tu int n = 10; //khai bao mang int number = {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 number){ //hoan vi 2 phan tu trunggian = number; number = number; number = trunggian; } } } //hien thi mang sau khi sap xep tang dan printf("\nMANG SAU KHI SAP XEP TANG DAN\n"); for(int i = 0; i Hàm sắp xếp các phần tử trong mảng theo chiều tăng dần:

#include 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 number){ //hoan vi 2 phan tu trunggian = number; number = number; number = trunggian; } } }}int main(){ //khai bao so luong phan tu int n = 10; //khai bao mang int number = {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 3.Sắp xếp giảm dần các phần tử trong mảngĐối với việc sắp xếp mảng theo chiều tăng dần, ta cần kiểm tra điều kiện trong vòng lặp đó là if(number > number) thì ta thực hiện hoán vị 2 phần tử đó. Tuy nhiên đối với việc sắp xếp mảng theo chiều giảm dần ta sẽ đặt điều kiện ngược lại đó là: if (number

#include int main(){ //khai bao so luong phan tu int n = 10; //khai bao mang int number = {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 Hàm sắp xếp phần tử mảng giảm dần cũng được thay thế if(number > number) bằng if(number

#include void SapXepGiam(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 4.Nhập xuất và sắp xếp phần tử trong mảngỞ 2 chương trình sắp xếp tăng và sắp xếp giảm dần ở phần trên, ta đang sắp xếp cho mảng cố định. Tuy nhiên ta có thể kết hợp nhập xuất rồi thực hiện việc sắp xếp.

#include void Nhap(int number<>, int n){ for(int i = 0; i number){ //hoan vi 2 phan tu trunggian = number; number = number; number = trunggian; } } }}void SapXepGiam(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


Facebook Twitter Linkedin int%20main()%20%20%20%20//khai%20bao%20so%20luong%20phan%20tu%20%20%20%20int%20n%20=%2010;%20%20%20%20//khai%20bao%20mang%20%20%20%20int%20number%5Bn%5D%20=%208,5,2,6,9,3,1,4,0,7;%20%20%20%20//khai%20bao%20bien%20trung%20gian%20de%20hoan%20vi%20%20%20%20int%20trunggian;%20%20%20%20//hien%20thi%20mang%20ban%20dau%20%20%20%20printf(MANG%20BAN%20DAUn);%20%20%20%20for(int%20i%20=%200;%20i%20%20number%5Bj%5D)%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//hoan%20vi%202%20phan%20tu%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20trunggian%20=%20number%5Bi%5D;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20number%5Bi%5D%20=%20number%5Bj%5D;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20number%5Bj%5D%20=%20trunggian;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//hien%20thi%20mang%20sau%20khi%20sap%20xep%20tang%20dan%20%20%20%20printf(nMANG%20SAU%20KHI%20SAP%20XEP%20TANG%20DANn);%20%20%20%20for(int%20i%20=%200;%20i%20void%20SapXepTang(int%20number%5B%5D,%20int%20n)%20%20%20%20//khai%20bao%20bien%20trung%20gian%20de%20hoan%20vi%20%20%20%20int%20trunggian;%20%20%20%20//thuc%20hien%20thuat%20toan%20sap%20xep%20chon%20%20%20%20for(int%20i%20=%200;%20i%20%20number%5Bj%5D)%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//hoan%20vi%202%20phan%20tu%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20trunggian%20=%20number%5Bi%5D;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20number%5Bi%5D%20=%20number%5Bj%5D;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20number%5Bj%5D%20=%20trunggian;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20int%20main()%20%20%20%20//khai%20bao%20so%20luong%20phan%20tu%20%20%20%20int%20n%20=%2010;%20%20%20%20//khai%20bao%20mang%20%20%20%20int%20number%5Bn%5D%20=%208,5,2,6,9,3,1,4,0,7;%20%20%20%20//hien%20thi%20mang%20ban%20dau%20%20%20%20printf(MANG%20BAN%20DAUn);%20%20%20%20for(int%20i%20=%200;%20i%20%20number%5Bj%5D)/code%20thì%20ta%20thực%20hiện%20hoán%20vị%202%20phần%20tử%20đó.%20Tuy%20nhiên%20đối%20với%20việc%20sắp%20xếp%20mảng%20theo%20chiều%20giảm%20dần%20ta%20sẽ%20đặt%20điều%20kiện%20ngược%20lại%20đó%20là:%20code%20class=EnlighterJSRAW%20data-enlighter-language=genericif%20(number%5Bi%5D%20int%20main()%20%20%20%20//khai%20bao%20so%20luong%20phan%20tu%20%20%20%20int%20n%20=%2010;%20%20%20%20//khai%20bao%20mang%20%20%20%20int%20number%5Bn%5D%20=%208,5,2,6,9,3,1,4,0,7;%20%20%20%20//khai%20bao%20bien%20trung%20gian%20de%20hoan%20vi%20%20%20%20int%20trunggian;%20%20%20%20//hien%20thi%20mang%20ban%20dau%20%20%20%20printf(MANG%20BAN%20DAUn);%20%20%20%20for(int%20i%20=%200;%20i%20%20number%5Bj%5D)/code%20bằng%20code%20class=EnlighterJSRAW%20data-enlighter-language=genericif(number%5Bi%5D%20void%20SapXepGiam(int%20number%5B%5D,%20int%20n)%20%20%20%20//khai%20bao%20bien%20trung%20gian%20de%20hoan%20vi%20%20%20%20int%20trunggian;%20%20%20%20//thuc%20hien%20thuat%20toan%20sap%20xep%20chon%20%20%20%20for(int%20i%20=%200;%20i%20void%20Nhap(int%20number%5B%5D,%20int%20n)%20%20%20%20for(int%20i%20=%200;%20i%20%20number%5Bj%5D)%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//hoan%20vi%202%20phan%20tu%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20trunggian%20=%20number%5Bi%5D;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20number%5Bi%5D%20=%20number%5Bj%5D;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20number%5Bj%5D%20=%20trunggian;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20void%20SapXepGiam(int%20number%5B%5D,%20int%20n)%20%20%20%20//khai%20bao%20bien%20trung%20gian%20de%20hoan%20vi%20%20%20%20int%20trunggian;%20%20%20%20//thuc%20hien%20thuat%20toan%20sap%20xep%20chon%20%20%20%20for(int%20i%20=%200;%20i%20 Pinterest