Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Allexina
Сообщений: n/a
#1

Трехпутевая поразрядная быстрая сортировка - C++

02.04.2011, 15:05. Просмотров 444. Ответов 0
Метки нет (Все метки)

Выдает несколько ошибок, исправляла, все равно не работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <vcl.h>
#pragma hdrstop
#include <time.h>
 
#include "Unit1.h"
#include "SortMarking.cpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
 
#define ch(A) digit(A, d)
int N = 10000;
int* Mas1;
void generator(int maxN);
 
template <class Item>
void quicksortX(Item a[], int l, int r, int d)
  { 
    int i, j, k, p, q; int v;
    if (r-l <= M) { insertion(a, l, r); return; }
    v = ch(a[r]); i = l-1; j = r; p = l-1; q = r;
    while (i < j)
      { 
        while (ch(a[++i]) < v) ;
        while (v < ch(a[--j])) if (j == l) break;
        if (i > j) break;
        exch(a[i], a[j]);
        if (ch(a[i])==v) { p++; exch(a[p], a[i]); }
        if (v==ch(a[j])) { q--; exch(a[j], a[q]); }
      }
    if (p == q)
      { if (v != '\0') quicksortX(a, l, r, d+1);
        return; }
    if (ch(a[i]) < v) i++;
    for (k = l; k <= p; k++, j--) exch(a[k], a[j]);
    for (k = r; k >= q; k--, i++) exch(a[k], a[i]);
    quicksortX(a, l, j, d);
    if ((i == r) && (ch(a[i]) == v)) i++;
    if (v != '\0') quicksortX(a, j+1, i-1, d+1);
    quicksortX(a, i, r, d);
  };
 
 
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::N1Click(TObject *Sender)
{
  time_t start;
  AnsiString s;
 
  start = clock();
  generator(N);
  Memo1->Lines->Add("ÈñõîГ*ûé Г¬Г*Г±Г±ГЁГў:");
  for(int i = 0; i<N; ++i) s = s + " " + IntToStr(Mas1[i]);
  Memo1->Lines->Add(s);
  quickSortX(Mas1, 0, N - 1, 3);
  Memo1->Lines->Add("");
  Memo1->Lines->Add("ÎòñîðòèðîâГ*Г*Г*ûé Г¬Г*Г±Г±ГЁГў:");
  s = "";
  for(int i = 0; i<N; ++i) s = s + " " + IntToStr(Mas1[i]);
  Memo1->Lines->Add(s);
  Memo1->Lines->Add("");
  Memo1->Lines->Add("Ïðîøëî " + AnsiString((clock() - start)/CLOCKS_PER_SEC) + " Г±ГҐГЄГіГ*Г¤.");
}
 
void generator(int maxN)
  {
    randomize();
    if(maxN<=0) return;
 
    if((Mas1=(int *)calloc(maxN,sizeof(int)))==NULL)
      {
        ShowMessage("Out of memorry!") ;
        exit(1);
      }
 
    for(int c=0;c<maxN;++c) Mas1[c]= random(1000) - random(1000);
  }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2011, 15:05     Трехпутевая поразрядная быстрая сортировка
Посмотрите здесь:

Трехпутевая поразрядная быстрая сортировка - C++
нужна помощь с написанием програмки на тему: Трехпутевая поразрядная быстрая сортировка заранее спасибо

Поразрядная сортировка - C++
Программа вылетает, не пойму почему? подскажите пожалуйста. #include &quot;iostream&quot; using namespace std; int n, col_razr=0; int...

Поразрядная сортировка - C++
Помогите решить проблему с кодом #include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include...

Поразрядная сортировка - C++
Необходимо реализовать метод поразрядной сортировки. Нужно отсортировать последовательность так, что бы она была отсортирована в порядке...

Поразрядная сортировка - C++
Подскажите пожалуйста почему если ввести больше 100 элементов то код не работает? #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include...

Поразрядная сортировка массива - C++
Дан массив двоичных чисел, нужно отсортировать его с помощью поразрядной сортировки, начиная со старшего разряда, функция должна быть...

Поразрядная сортировка MSD - C++
Поразрядная сортировка MSD , есть???

Поразрядная сортировка и его недостатки - C++
Собствено сабж в &quot;плохости&quot; поразрядной сортировки. Ведь, если она отрабатывает за линейное время и не требует спец. аппаратной поддержки,...

Обменная поразрядная сортировка масива - C++
Помогите пожалуйста исправить код, у меня сортируется массив только по старшему биту как сделать что бы сортировалось по остальным битам...

Поразрядная сортировка символьных массивов - C++
Всем привет! Кто нибудь может показать пример кода, для поразрядной сортировки символьных массивов, с числовыми массивами разобрался, а с ...

Быстрая сортировка - C++
Здравствуйте уважаемые форумчане киберфорума. Имеется проблеммка с задачкой, могли бы вы помочь мне ее решить? Имеем двумерный...

Быстрая сортировка - C++
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; using namespace std; int comp(const int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru