Professional Documents
Culture Documents
Code
Code
#include <iostream>
#include <algorithm>
if (arr[mid] == key)
return mid;
return -1;
}
return -1;
}
void interchangeSort(int arr[], int size) {
for (int i = 0; i < size - 1; ++i) {
for (int j = i + 1; j < size; ++j) {
if (arr[i] < arr[j]) {
swap(arr[i], arr[j]);
}
}
}
}
int pivotIndex = i + 1;
int main() {
const int maxSize = 100;
int arr[maxSize];
int size;
int choice;
cout << "Chon chuc nang:\n";
cout << "1. Tim kiem nhi phan\n";
cout << "2. Tim kiem tuan tu\n";
cout << "3. Sap xep giam dan theo Interchange Sort\n";
cout << "4. Sap xep giam dan theo Quick Sort\n";
cout << "Nhap lua chon cua ban: ";
cin >> choice;
switch (choice) {
case 1: {
int key;
cout << "Nhap gia tri can tim kiem: ";
cin >> key;
sort(arr, arr + size);
int result = binarySearch(arr, 0, size - 1, key);
if (result != -1)
cout << "Tim thay gia tri tai vi tri " << result + 1 << endl;
else
cout << "Khong tim thay gia tri trong mang.\n";
break;
}
case 2: {
int key;
cout << "Nhap gia tri can tim kiem: ";
cin >> key;
int result = linearSearch(arr, size, key);
if (result != -1)
cout << "Tim thay gia tri tai vi tri " << result + 1 << endl;
else
cout << "Khong tim thay gia tri trong mang.\n";
break;
}
case 3: {
interchangeSort(arr, size);
cout << "Mang sau khi sap xep giam dan theo Interchange Sort:\n";
for (int i = 0; i < size; ++i)
cout << arr[i] << " ";
cout << endl;
break;
}
case 4: {
quickSort(arr, 0, size - 1);
cout << "Mang sau khi sap xep giam dan theo Quick Sort:\n";
for (int i = 0; i < size; ++i)
cout << arr[i] << " ";
cout << endl;
break;
}
default:
cout << "Lua chon khong hop le.\n";
}
return 0;
}