Дошёл до темы быстрой сортировки, набрал код, начал компилировать. Что странно, всё написано правильно, уже проверял, 8 раз, программа компилируется, но результат отсортированного массива не выдаёт, выдаёт только исходный результат.
| Код | #include <iostream> using namespace std;
void quicksort(char *items, int len); void qs(char *items, int left, int right);
int main() { setlocale(0,""); char str[] = "вгдба"; cout<<"Масив в исходном порядке: "<<str<<endl; quicksort(str,strlen(str)); cout<<"Отсортированный масив: "<<str<<endl; cin.get(); }
void quicksort(char *items, int len) { qs(items,0, len - 1); }
void qs(char *items, int left, int right) { int i,j; char x,y; i = left; j = right; x = items[(left+right)/2]; do { while((items[i] < x) && (i < right)); i++; while((x < items[j]) && (j > left)); j--; if(i<=j) { y = items[i]; items[i] = items[j]; items[j] = y; i++; j--; } } while(i <= j);
if(left < j) qs(items,left,j); if(i < right) qs(items,i,right); }
|
|