Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рекурсивная Сортировка Разделением, Неудается добиться правильной рекурсии.. 
:(
    Опции темы
Feldor
Дата 21.12.2005, 13:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Не удается сделать эту сортировку, так как рекурсия идет не так как надо =(
Приблизительный алгоритм этой сортировки такой:

Код

void sort(int in[], int a, int b){
int i;
if (a==b) return;
                                   // Разделить массив в интервале a..b
                                          // на две части a..i-1 и i..b
                         // относительно значения v по принципу <v, >=v
sort(in,a,i-1); sort(in,i,b);}


Вот моя ерсию, которая по непонятным мне причинам не работает: smile

Код

void sort(int A[], int a, int b)
{
  int i,k,j,sum;
  int B[10];
  double m;

  if (a>=b) return;
  
  for (k=a, sum=0;k<=b;k++)
    {
        sum+=A[k];
    }
  m=sum/k;

    for(i=j=a, k=b ;i<=b; i++)
    {
        if (A[i]<m) B[j++]=A[i];
        else B[k--]=A[i];
    }

    for (i=a;i<=b;i++)
    {
        A[i]=B[i];
    }

  sort(A,a,j-1);
  sort(A,j+1,b);
}

void main()
{
    int A[10]={5,2,7,4,8,9,3,2,4,7};

        sort(A,0,9);

    for (int i=0;i<9;i++)
    {
        printf("%d ",A[i]);
    }
}


Заранее благодарю за помощь...
  Вверх
Feldor
Дата 21.12.2005, 16:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Прошу, пожалуйста, подскажите сегодня... потому что завтра уже все =(
От этого очень многое зависит...

По поводу программы: обязательно в задании нужно использовать вспомогательный массив.

  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0380 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.