Lời giải
< Bài tập C++ | Mảng
Đề bài: Nhập vào dãy gồm N số nguyên. Sắp xếp dãy thành một dãy tăng dần.
Lời giải
Sử dụng Sắp xếp đổi chỗ, hay Sắp xếp chọn (Selection sort).
#include <iostream>
using namespace std;
int main() {
int N, A[100];
cout << "Nhap N: "; cin >> N;
cout << "Nhap day: ";
for (int i = 0 ; i < N ; i++) cin >> A[i];
for (int i = 0 ; i < N - 1 ; i++)
for (int j = i + 1 ; j < N ; j++)
if (A[i] > A[j]) swap(A[i], A[j]);
cout << "Day duoc sap xep: ";
for (int i = 0 ; i < N ; i++) cout << A[i] << " ";
return 0;
}
Sử dụng Sắp xếp nổi bọt (Bubble sort)
#include <iostream>
using namespace std;
int main() {
int N, A[100];
cout << "Nhap N: "; cin >> N;
cout << "Nhap day: ";
for (int i = 0 ; i < N ; i++) cin >> A[i];
for (int i = 0 ; i < N - 1 ; i++)
for (int j = N - 1 ; j > i ; j--)
if (A[j] < A[j-1]) swap(A[j], A[j-1]);
cout << "Day duoc sap xep: ";
for (int i = 0 ; i < N ; i++) cout << A[i] << " ";
return 0;
}
Chương trình chạy
Nhap N: 5 Nhap day: 8 0 4 10 2 Day duoc sap xep: 0 2 4 8 10 Nhap N: 12 Nhap day: 15 26 79 8 0 83 109 801 938 424 324 712 Day duoc sap xep: 0 8 15 26 79 83 109 324 424 712 801 938