C++ 矢量C+的字母快速排序+;
对于下面的代码,我一直在尝试实现快速排序,以按字母顺序对字符串向量进行排序 我发现的问题是,无法将字符串比较为“>”或“C++ 矢量C+的字母快速排序+;,c++,vector,quicksort,C++,Vector,Quicksort,对于下面的代码,我一直在尝试实现快速排序,以按字母顺序对字符串向量进行排序 我发现的问题是,无法将字符串比较为“>”或“ 我发现的问题是,您无法将字符串比较为“>”或“您无法将字符串比较为“>”或“请不要使用C标记,除非问题(和/或预期答案)是是C。这不是。有什么建议吗?arr是按值传递的。改用引用,您可能会得到一些排序结果。问题是什么?我想这就是排序不起作用的原因。。 `void quicksort(vector<string> arr, int left, int right)
我发现的问题是,您无法将字符串比较为“>”或“
您无法将字符串比较为“>”或“请不要使用C
标记,除非问题(和/或预期答案)是是C。这不是。有什么建议吗?
arr是按值传递的。改用引用,您可能会得到一些排序结果。问题是什么?我想这就是排序不起作用的原因。。
`void quicksort(vector<string> arr, int left, int right)
{
int i = left, j = right;
string tmp;
string pivot = arr[(left + right) / 2];
/* partition */
while (i <= j) {
while (arr[i] < pivot)
i++;
while (arr[j] > pivot)
j--;
if (i <= j) {
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
i++;
j--;
}
}
/* recursion */
if (left < j)
quickSort(arr, left, j);
if (i < right)
quickSort(arr, i, right);
}`
void quicksort(vector<string>& arr, int left, int right)