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

Вопросы насчёт быстрой сортировки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Измерение времени компиляции http://www.cyberforum.ru/cpp-beginners/thread156474.html
как узнать время компиляции исходного текста и размер памяти, которую програма использует
C++ Запись пользовательского класса Всем доброе время суток! Пишу класс шаблон, застрял на одном месте и не могу понять в чем проблема ... имеется пользовательский класс, в нем определена функция перегрузки оператора вставки в файл: ofstream& operator << (ofstream& s, user_type& ut) { s << ut.fstreet << " " << ut.fhouse; return s; } В классе шаблоне имеется функция записи элементов однонаправленного кольцевого списка в... http://www.cyberforum.ru/cpp-beginners/thread156458.html
C++ Дереференс указателей
после прочтения мануала появилась необходимость использовать beth = *ted; но оно выдает еррор C2100 =\ надо: есть size_t arg = 0x12345 нужно прочитать int по адресу из arg, можно ли это сделать поинтерами * или & ? или только кастом можно?
C++ ошибка с WINDOWS.H
После подключения в одном из модулей модуля "afxwin.h" при компиляции появилась ошибка fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h> В чём ошибка? И как её устранить?
C++ Как работает алгоритм удаления дерева http://www.cyberforum.ru/cpp-beginners/thread156417.html
struct tree { Ti; tree <T> *l, *r; } void tree_remove (tree <T> *&r) { if (!r) return; tree_remove (r->l);
C++ UDP Client Привет всем! У меня тут такой вопрос возник: можно ли создать UDP Client к уже существующему серверу UDP пример: вот UDP Server MTA vc 0.1 магули я создать для него клиент ?? и чтоб мой клиент функционирывал почти ткаже как и MTA VC Client 0.1 ??????????? подробнее

Показать сообщение отдельно
Saf
0 / 0 / 0
Регистрация: 30.07.2010
Сообщений: 6

Вопросы насчёт быстрой сортировки - C++

30.07.2010, 11:47. Просмотров 484. Ответов 3
Метки (Все метки)

Здравствуйте. Объясните, пожалуйста. Есть алгоритм быстрой сортировки:
Код:
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
int shag=1;
 
void quickSort(int arr[], int left, int right, char v) {
 
            cout <<"--------" <<shag <<"-------" <<endl;
 
      if(v=='a') {cout <<"       Вариант №1"  <<endl; shag++;}
      else       {cout <<"        Вариант №2" <<endl; shag++;}
      cout <<"                                    left: " <<left <<endl;
      cout <<"                                    right: " <<right <<endl;
 
      int i = left, j = right;
 
      int tmp;
 
      int pivot = arr[(left + right) / 2];
      cout  <<endl <<"pivot: " <<pivot <<' ' <<endl;
 
      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--;
                 cout <<"               a[i]: "  <<arr[i] <<endl;
                 cout <<"               a[j]: "  <<arr[j] <<endl;
            }
 
      };
 
        cout <<"j: " <<j <<' ' <<endl;
        cout <<"i: " <<i <<' ' <<endl;
 
      if (left < j)
 
          quickSort(arr, left, j, 'a');
 
 
      if (i < right)
 
          quickSort(arr, i, right , 'b');
 
}
 
int main()
{
int z[]={1, 2, 3, 5, 7, 7, 12, 26, 14};
quickSort(z,0,8,'a');
}
В нём непонятно 2 вещи:
1)Почему срабатывает рекурсивно второй вариант (шаг 4), если значение i=1 (i<1). Т.е. неподходят оба варианта и наступает конец функции.
2)Откуда значения: left: 3 и right: 4 (шаг 4).
P.S. Массив сортируется правильно.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru