在CentOS系统中使用C++实现排序算法,你可以选择多种排序方法,如冒泡排序、选择排序、插入排序、快速排序、归并排序等。以下是一个简单的示例,展示如何在CentOS上使用C++实现快速排序算法:
sudo yum install gcc-c++
quick_sort.cpp的文件,并在其中编写快速排序算法的C++代码:#include <iostream>
#include <vector>
void quick_sort(std::vector<int>& arr, int left, int right) {
if (left >= right) return;
int pivot = arr[left + (right - left) / 2];
int i = left, j = right;
while (i <= j) {
while (arr[i] < pivot) i++;
while (arr[j] > pivot) j--;
if (i <= j) {
std::swap(arr[i], arr[j]);
i++;
j--;
}
}
quick_sort(arr, left, j);
quick_sort(arr, i, right);
}
int main() {
std::vector<int> arr = {3, 6, 8, 10, 1, 2, 1};
quick_sort(arr, 0, arr.size() - 1);
for (int num : arr) {
std::cout << num << " ";
}
return 0;
}
g++ -o quick_sort quick_sort.cpp
./quick_sort
程序将输出排序后的数组:
1 1 2 3 6 8 10
你可以根据需要修改这个示例,实现其他排序算法。在C++中,你还可以使用标准库中的std::sort函数来实现排序,它通常基于快速排序、堆排序和插入排序的混合算法。以下是使用std::sort的示例:
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> arr = {3, 6, 8, 10, 1, 2, 1};
std::sort(arr.begin(), arr.end());
for (int num : arr) {
std::cout << num << " ";
}
return 0;
}
编译和运行方法与上面的示例相同。