Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Быстрая сортировка, ошибка в коде


Автор: Syltan 14.9.2009, 22:37
Дошёл до темы быстрой сортировки, набрал код, начал компилировать. Что странно, всё написано правильно, уже проверял, 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);
}





Автор: bsa 14.9.2009, 22:51
Сделай как написано http://forum.vingrad.ru/forum/topic-269805/kw-faq-coding-style-стиль-кодирования.html и найдешь ошибку.

Просьба другим участникам форума - не подсказывать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)