С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 121
1

Сортировка вставками

03.02.2016, 18:46. Показов 1348. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
template< class T >
void insertSort(T* a, int size) 
{
    T tmp;
    for (int i = 1, j; i < size; ++i) // цикл проходов, i - номер прохода
    {
        tmp = a[i]; 
        for (j = i - 1; j >= 0 && a[j] > tmp; --j) // поиск места элемента в готовой последовательности 
            a[j + 1] = a[j];    // сдвигаем элемент направо, пока не дошли
        a[j + 1] = tmp; // место найдено, вставить элемент    
    }
}
Объясните пжт, в пятой строке "for (int i = 1, j; i < size; ++i) // цикл проходов, i - номер прохода" что означает j ??
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2016, 18:46
Ответы с готовыми решениями:

Сортировка вектора по полю(Сортировка вставками)
Здравствуйте! Нужно написать сортировку вектора по полю weight класса tomato. Вот класс: #pragma...

Сортировка Шелла и сортировка вставками
Напишите программу для: 1)Сортировка вставкой 2)сортировка Шелла

Сортировка вставками
Доброго времени суток, форумчане. Подскажите, пожалуйста, почему при первой реализации алгоритма...

Сортировка вставками
Добрый день, есть один вопрос #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;string&gt;...

4
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
03.02.2016, 18:58 2
Лучший ответ Сообщение было отмечено barracuda1991 как решение

Решение

Цитата Сообщение от barracuda1991 Посмотреть сообщение
что означает j
просто создали j. Можно еще так
C++
1
2
3
4
5
6
7
8
for (int i = 1; i < size; ++i) // цикл проходов, i - номер прохода
    {
        int j;
        tmp = a[i]; 
        for (j = i - 1; j >= 0 && a[j] > tmp; --j) // поиск места элемента в готовой последовательности 
            a[j + 1] = a[j];    // сдвигаем элемент направо, пока не дошли
        a[j + 1] = tmp; // место найдено, вставить элемент    
    }
Сделано для того что бы переменная была видна в этой строке
C++
1
a[j + 1] = tmp; // место найдено, вставить элемент
1
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 121
04.02.2016, 11:37  [ТС] 3
не пойму почему во втором цикле (строки 6-7) не стоят фигурные скобки. И почему выражения a[j + 1] в 9-й и 10-й строках выдают различное значение ??
0
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
04.02.2016, 13:14 4
Лучший ответ Сообщение было отмечено barracuda1991 как решение

Решение

Цитата Сообщение от barracuda1991 Посмотреть сообщение
не пойму почему во втором цикле (строки 6-7) не стоят фигурные скобки.
http://cppstudio.com/post/348/

Цитата Сообщение от barracuda1991 Посмотреть сообщение
И почему выражения a[j + 1] в 9-й и 10-й строках выдают различное значение ??
следствие первого, и будет полезно:
http://cppstudio.com/post/415/
1
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 121
05.02.2016, 16:39  [ТС] 5
помогите пжт, чтобы лучше понять код С++:
C++
1
2
3
        for (j = i - 1; j >= 0 && a[j] > tmp; --j) // поиск места элемента в готовой последовательности 
            a[j + 1] = a[j];    // сдвигаем элемент направо, пока не дошли
        a[j + 1] = tmp; // место найдено, вставить элемент
Вышеприведенный код цикла в VBA тАк будет выглядеть?:
Visual Basic
1
2
3
4
5
6
7
8
9
For j = i - 1 To 0 Step -1
    If A(j) > tmp Then
        A(j + 1) = A(j)
        j = j - 1
    Else
        GoTo 1
    End If
Next
1 A(j + 1) = tmp
0
05.02.2016, 16:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2016, 16:39
Помогаю со студенческими работами здесь

Сортировка вставками
Задача: В компьютер по очереди поступают числа, из них форми*руется массив А так, чтобы он...

Сортировка вставками
Условие: Дан массив целых чисел. Ваша задача — отсортировать его в порядке неубывания с помощью...

Сортировка вставками
Программа работает, но криво( Нужно, что бы 10 массивов рандомных было, а не один. И еще плохо...

сортировка вставками
Начал изучать Кормена. Написал первый алгоритм. Не сортируется первый элемент массива. Код написан...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru