![]() |
|
Модераторы: Poseidon |
![]()
|
|
| valfandra |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 31.3.2009 Репутация: нет Всего: нет |
как работает сортировка-я знаю. а каод не понимаю. помогите разобрать! а еще нужно подсчитать колво перестановок и сравнений Это сообщение отредактировал(а) Rodman - 31.3.2009, 08:44 |
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 16 Всего: 69 |
мне что, опять комментарии в стихах писать... #include "iostream" - здесь мы подключаем заголовочный файл для юзанья классов cout, cin ... может вам MSDN почитать? |
|||
|
||||
| valfandra |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 31.3.2009 Репутация: нет Всего: нет |
void sift( int *array, int L, int R ){ // подключаем функцию. как я поняла для построения дерева?
i = L; j = 2*L; // а это все последовательность и последовательность разбитая надва? item = array[L]; // заносим в item л-тый элемент массива. те хвост? if ( j < R && array[j] < array[j + 1] ) j++; // если индекс нашей последовательности меньше р? р это хвост? вот тут уже не понимаю while ( j <= R && item < array[j] ){ array[i] = array[j]; i = j; j = 2*j; if ( j < R && array[j] < array[j + 1] ) j++; } array[i] = item; } // пока условия не понятны. и дальнейшие действия тоже не понятно. i=j j=2*j - это наверно родитель и потомки? void heapsort( int *array, int size ){ // это сама сортировка уже L = size/2; R = size - 1; // середина последовательности и крайний элемент справа? while ( L > 0 ){ // пока середина больше нуля. а когда она будет меньше? L--; sift( array, L, R );// Л уменьшаем и втыкаем фцнцию для построения дерева? те мы где-то уже вершину с хвостом поменяли, хвост записали в item, а принцип дерева нарушен? поэтомутут вставляем функию для дерева? while ( R > 0 ){ item = array[0]; array[0] = array[R]; array[R] = item; sort++; R--; sift( array, L, R ); // а это для чего? |
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 16 Всего: 69 |
valfandra, я могу вам посоветовать реализовать сортировку самостоятельно. не такая уж она и сложная. заодно разберётесь.
|
|||
|
||||
| valfandra |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 31.3.2009 Репутация: нет Всего: нет |
zim22, а не можете по этому коду помочь? пожалуйста
|
|||
|
||||
| valfandra |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 31.3.2009 Репутация: нет Всего: нет |
помогите чсло срванений и перестановок посчиатьь
|
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 16 Всего: 69 |
создайте переменные-счётчики. при каждой перестановке или сравнении инкрементируйте соотв.счётчик. в конце работы функции счётчики будут содержать нужные вам значения. |
|||
|
||||
| Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 5 Всего: 41 |
-------------------- |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |