Сортировка вставками: различия между версиями

Материал из Олимпиадное программирование в УлГТУ
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
== Код ==
void insertionSort(int arr[], int size) {
    for (int i = 1; i < size; i++) {
        int curPos = i;
        while (curPos > 0 && arr[curPos] < arr[curPos - 1]) {
            swap(arr[curPos], arr[curPos - 1]);
            curPos--;
        }
    }
}
== Ссылки ==
== Ссылки ==
Теория:
Теория:
* [http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0%D0%BC%D0%B8 neerc.ifmo.ru/wiki &mdash; Сортировка вставками]
* [http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0%D0%BC%D0%B8 neerc.ifmo.ru/wiki &mdash; Сортировка вставками]
* [http://brestprog.neocities.org/lections/sort.html brestprog.neocities.org &mdash; Сортировка]
* [http://brestprog.by/topics/sort/ brestprog.by — Сортировка]
* [http://algs4.cs.princeton.edu/lectures/21ElementarySorts.pdf algs4.cs.princeton.edu/lectures &mdash; 2.1 Elementary Sorts]
* [http://algs4.cs.princeton.edu/lectures/21ElementarySorts.pdf algs4.cs.princeton.edu/lectures &mdash; 2.1 Elementary Sorts]
* [http://brilliant.org/wiki/insertion/ Brilliant.org — Insertion Sort]
Демонстрация:
Демонстрация:
* [http://www.sorting-algorithms.com/insertion-sort Sorting Algorithm Animations &mdash; Insertion Sort]
* [http://www.sorting-algorithms.com/insertion-sort Sorting Algorithm Animations &mdash; Insertion Sort]
* [http://visualgo.net/sorting.html VisuAlgo &mdash; Sorting]
* [http://visualgo.net/en/sorting VisuAlgo Sorting]
Код:
Код:
* [http://github.com/indy256/codelibrary/blob/master/java/src/Sort.java CodeLibrary &mdash; Sorting algorithms]
* [http://github.com/indy256/codelibrary/blob/master/java/sort/Sort.java CodeLibrary Sorting algorithms]
Задачи:
Задачи:
* [http://informatics.mccme.ru/course/view.php?id=3 informatics.mccme.ru &mdash; Курс &laquo;Поиск и сортировка&raquo; &mdash; часть 3]
* [http://informatics.mccme.ru/course/view.php?id=3 informatics.mccme.ru &mdash; Курс &laquo;Поиск и сортировка&raquo; &mdash; часть 3]

Версия от 17:53, 2 января 2020

Код

void insertionSort(int arr[], int size) {
    for (int i = 1; i < size; i++) {
        int curPos = i;
        while (curPos > 0 && arr[curPos] < arr[curPos - 1]) {
            swap(arr[curPos], arr[curPos - 1]);
            curPos--;
        }
    }
}

Ссылки

Теория:

Демонстрация:

Код:

Задачи: