Нужна помощь с С++

программирование С++

Не могу разобраться с сортировкой вставками. Не совсем понимаю как она работает. Объясните пожалуйста по пунктам на примере этой функции

template <typename T>
void func2(T mas[], const int size)
{
T key ;
int j ;
for( int i = 0; i < size; i++)
{
key = mas[i];

for( j = i - 1; i >= 0 && mas[j] > key; j--)
{
mas[j + 1] = mas[j];
}
mas [j + 1] = key;
}
for ( int i = 0; i < size; i++)
{
cout << mas[i] << " ";
}
cout << endl;
}
Заранее спасибо!
Ответы:
В сортировке вставками последовательность чисел разбивается на упорядоченную и неупорядоченную часть. Из неупорядоченной части берется число, и вставляется в упорядоченную. При первой итерации, упорядоченная часть пуста, и в нее вставляется первое число из массива.
Прилагаю вам ссылку на описание, и, если вам нужна визуальная картина - вот видео [http://www.youtube.com/watch?v=kPRA0W1kECg], как сортировка происходит. "Вставками" идет 2рая по счету.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.