Professional Documents
Culture Documents
Baitapcautrucdulieu
Baitapcautrucdulieu
#include <vector>
#include <cstdlib>
#include <ctime>
srand(time(NULL));
arr[j + 1] = CurrentElement;
}
}
void InterchangeSort(vector<int>& arr) {
bool IsSorted = false;
for (int i = 0; i < arr.size() - 1 && !IsSorted; i++) {
IsSorted = true;
for (int j = 0; j < arr.size() - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
swap(arr[j], arr[j + 1]);
IsSorted = false;
}
}
}
}
int SapXepQuickSort(vector<int>& arr, int low, int high) {
int pivot = arr[high];
int i = (low - 1);
int i = 0, j = 0, k = low;
int main() {
int choice;
vector<int> arr;
do {
cout << endl;
cout << "CHUONG TRINH TAO MANG NGAU NHIEN VA SAP XEP MANG BANG THUAT
TOAN !!!"<<endl;
cout << "====================================================================";
cout << "\nMenu:\n";
cout << "1. Tao mang ngau nhien\n";
cout << "2. Sap xep mang bang thuat toan BubbleSort\n";
cout << "3. Sap xep mang bang thuat toan SelectionSort\n";
cout << "4. Sap xep mang bang thuat toan InsertionSort\n";
cout << "5. Sap xep mang bang thuat toan InterchangeSort\n";
cout << "6. Sap xep mang bang thuat toan QuickSort\n";
cout << "7. Sap xep mang bang thuat toan MergSort\n";
cout << "8. In ra mang\n";
cout << "9. Thoat\n";
switch (choice) {
case 1:
int n;
cout << "Nhap so phan tu: ";
cin >> n;
arr.clear();
taomangngaunhien(arr, n);
cout << "Tao mang ngau nhien.\n";
break;
case 2:
if (arr.empty()) {
cout << "Mang trong vui long tao mot mang truoc.\n";
} else {
BubbleSort(arr);
cout << "Mang duoc sap xep bang BubbleSort.\n";
}
break;
case 3:
if (arr.empty()) {
cout << "Mang trong vui long tao mot mang truoc.\n";
} else {
SelectionSort(arr);
cout << "Mang duoc sap xep bang SelectionSort.\n";
}
break;
case 4:
if (arr.empty()) {
cout << "Mang trong vui long tao mot mang truoc.\n";
} else {
InsertionSort(arr);
cout << "Mang duoc sap xep bang InsertionSort.\n";
}
break;
case 5:
if (arr.empty()) {
cout << "Mang trong vui long tao mot mang truoc.\n";
} else {
InterchangeSort(arr);
cout << "Mang duoc sap xep bang InterchangeSort.\n";
}
break;
case 6:
if (arr.empty()) {
cout << "Mang trong vui long tao mot mang truoc.\n";
} else {
QuickSort(arr, 0, arr.size() - 1);
cout << "Mang duoc sap xep bang QuickSort.\n";
}
break;
case 7:
if (arr.empty()) {
cout << "Mang trong vui long tao mot mang truoc.\n";
} else {
MergeSort(arr, 0, arr.size() - 1);
cout << "Mang duoc sap xep bang merge sort.\n";
}
break;
case 8:
if (arr.empty()) {
cout << "Mang trong vui long tao mot mang truoc.\n";
} else {
InRaMang(arr);
}
break;
case 9:
cout << "Thoat khoi chuong trinh...\n";
break;
default:
cout << "Lua chon khong hop le! Vui long chon so tu 1 den 9.\n";
}
} while (choice != 9);
return 0;
}