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

Прокоментировать 2 строки по сортировке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ У меня три вопроса http://www.cyberforum.ru/cpp-beginners/thread52040.html
Вопросы такие:1)Как на Visual C++ 2008 произвести переименование папки 2)Как сделать Restart но не своего а чужого приложения.3)Как правильно написать адрес,но не на какой то определенный диск(А;В;С.),а на тот, на котором установлена система,прим. - ?":\\Documents and Settings\\User\\Мои документы\\...."
C++ Найти детерминант (определитель) матрицы Привет всем помогите найти в 2D массиве детерминант:pardon: http://www.cyberforum.ru/cpp-beginners/thread52037.html
C++ Определить количество дней в году
Дан номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а высокосный-366. Высокосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400. я так понимаю что её надо решать через оператор if но как записать вот это деление на 4,100 и т.д. я не знаю. Прошу помощи в решении....
C++ Описать функцию, которая включает в упорядоченный по убыванию список новое значение
Помогите плиз с задачкой. Динамические структуры. С++ В составе программы описать функцию, которая включает в упорядоченный по убыванию список новое значение, введенное с клавиатуры, таким образом, чтобы не нарушать упорядоченность. Заранее большое спасибо.
C++ Найти слово в предложении http://www.cyberforum.ru/cpp-beginners/thread51987.html
Здравствуйте, помогите решить задачу по С++ Задача : В предложении найти слово имеющее наибольшее количество разных символов. Спасибо за ответы.
C++ Почему прога не выходит из цикла? #include <stdio.h> int main () {unsigned int s,a,k,n,min,max,kol; min=0; a=0; s=0; kol=0; max=0; scanf ("%d\n",&k); n=0; подробнее

Показать сообщение отдельно
Syltan
181 / 7 / 0
Регистрация: 27.08.2009
Сообщений: 868
24.09.2009, 00:30  [ТС]     Прокоментировать 2 строки по сортировке
Хорошо, давайте возьмём другие числа в масиве.

Код
[B] 50, 7, 3, 9, 25, 33, -5 [/B]
Я напишу своё толкование:

p = 9, i = 0, j = 6

Код
1) while(a[i]<p) i++;
50<p? НЕТ i осталось 0;

while(a[i]>p) j--;
-5>p? Нет j осталось 6.
Код
2)if (i <= j)
        {
            temp = a[i]; a[i] = a[j]; a[j] = temp;
            i++; j--;
        }
Если i меньше чем j(тоесть если мы нашли такие элементы,которые заставили предыдущие циклы остановится, то меняем местами a[i], a[j] ;
i = 0; j = 6;
Меняем a[0] = 50, a[6] = -5/

-5   7   3    9    25     33    50


Увеличиваем i  на один, j уменьшаем на один.
Код
3) i = 1,  j = 5;
 while(a[i]<p) i++;
7<9? Да.  i стаёт равно = 2;

while(a[j]>p) j--;
33>9? Да. j стаёт равно 4

Результат счётчиков i = 2,  j = 4;
Код
4)while(a[i]<p) i++;
3<9? Да  i = 3;

5) while(a[j]>p) j--;

25>9? Да. j = 3;

Результат i = 3;  j  = 3;

Как заканчивается цикл do ..while ?
Меня интересует место: while(i < = j) От куда подставляется в i и j?
Если кому не трудно,можете так,как я расписал выше, расписать вот эти 2 строчки и всё, буду всей жизню благодарен. Распишите, действия этих 2 строк за каждой рекурсией,как происходит с теми числами,которые я писал выше?
C++
1
2
if ( j > 0 ) quickSortR(a, j);
    if ( N > i ) quickSortR(a+i, N-i);
 
Текущее время: 21:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru