Пузырьковая сортировка одномерного массива: алгоритм, программный код на языке c
Опубликованно 29.10.2017 00:39
В работе с информацией, наиболее экономически эффективных способов хранения, структуры и таблицы. Последние могут содержать те же типы данных, которые легко использовать в программе. Они часто используются в работе интернет-магазинов и в разработке игр. Таким образом, данные, содержащиеся в настоящем документе, неоднократно сортируются и пересаживаются, и выше выполняются логические или математические операции. Один из способов навести порядок в таблице, является пузырьковой сортировки. В данной публикации, будет рассмотрен программный код на языке c и логика, перестановки. Алгоритм сортировки массива
Технические проблемы для программиста пузырьковой сортировки одномерного массива не является, хотя и редко из-за его низкой эффективности. Она все больше и больше рассматривается на этапе обучения, как наиболее простой. Однако, она не является наиболее эффективным. Его алгоритм состоит из предложить сравнение цифры и взаимной перезаписи ячейки, если условие соблюдается.
Пошаговое описание процесса сортировки
Для первой итерации постепенно сравниваются два соседних числа. Если слева больше, он будет заменен на местах, с правом. Минус 8 и 0 не удовлетворяют. И потому мест не меняются. Ноль и 5 не подходят. 5 и 3 подходят. Однако, этой итерации рамки считывания не падает на пятерку, и перемещается вправо, так что 5 это по сравнению с нуля. Это означает, что менять место следующей паре 3 и 9. Далее все замена, читателю предлагается проверить самостоятельно, без авторских комментариев и изучить алгоритм пузырьковой сортировки.
В результате всех итераций матрица постепенно сортируются, и это происходит в основном: большие положительные числа, быстро перемещаются вправо, в то время как более мелкие и отрицательные, медленно, сидящие слева. Выглядит это, как будто пузырьки газа в жидкости быстро всплывают вверх. Из-за этой аналогии алгоритма и был назначен пузырьковой сортировки.Оценка сложности
Идеальный алгоритм сортировки должен быть самым быстрым. При этом он должен потреблять небольшое количество ресурсов процессора и памяти. И этот процесс, как пузырь, сортировка массива, не может быть более энергоэффективным и экономически выгодным. Потому широкого применения он не нашел. Если с памяти в данный момент, меньше проблем, на ресурсы процессора надо беспокоиться. Поскольку массивы могут быть не просто большие и огромные, а потребление ресурсов компьютера будет непредсказуемым.
Если пузырьковой сортировки, в принципе, быстро обрабатывает вещи в порядок в относительно небольшой таблице, в большом могут быть сбои из-за перерасхода ресурсов. Это означает, что это будет нарушать свойство универсальности собственный алгоритм. И сортировки пузырь N-квадрат сложности и очень далеко логарифм от N сложность. Кроме того, риск отказа при обработке большого массива увеличивает шансы потери данных из-за перезаписи ячеек. Гораздо выгоднее в этом плане будет сортировка вставками или алгоритм Shell.Код
Ниже, на диаграмме в приложении компьютерный код для языка c позволяет реализовать пузырьковую сортировку. Он передается в виде функции типа void. Она не возвращает значение, но использование указателей перестановкой элементов в зависимости от условия сортировки. В этом случае код решает проблему пузырька сортировка массива целых чисел по возрастанию.
Для выполнения этой функции, пользователь должен создать массив, который должен заполнить нужные значения. Это можно сделать вручную, задавая размер и количество элементов в начале программы. Так, можно заполнить массив значениями констант. Второй вариант заключается в создании универсальной программы, декларация большой одномерный массив из 100 элементов.Декларация и инициализация массива
Установив переменную типа integer и присваивая ей значение, полученное на клавиатуре, вы можете ограничить количество ячеек, которые будут заполнены. Вы также можете реализовать функцию ввода элементов матрицы пользователя с клавиатуры, с помощью функции scanf(«%d», &value). В этом примере, «%d» изменение строка, которая указывает компилятору, что после сканирования будет получено целочисленное значение. Переменной value будет хранить значение, которое соответствует размер одномерного целочисленного массива.
Использовать алгоритм сортировки, надо передать в функцию имени массива и его размер. В ситуации, представленной на графике в приложении, вызов функции сортировки будет: BubleSort(dataArray, sizeDataArray). Конечно, в конце строки, когда функция должна поставить точку с запятой вместо точки, как требуют правила синтаксиса программы. Таким образом, dataArray – это название группы, сортировать и sizeDataArray – это его размер.
Передача этих параметров в функции BubleSort() вызывает, что вместо использования sizeArray, как видно на рисунке, в реальной программе, операции будут выполнены с sizeDataArray. Это означает, что функция BubleSort() используется массив целых чисел dataArray. Кроме того, вызов функции printArrayFunction() и ArrayIntegerInputFunction(). Первый отвечает за печать, либо в консоли элементов. И второй, это необходимо для заполнения элементов, вводимых пользователем с клавиатуры.
Этот стиль программирования, когда отдельные операции представлены в виде функций, значительно улучшает читаемость кода и ускоряет его развитие. В этом виде программы отдельно получил заполнение массива с клавиатуры, печатает сам пузырьковой сортировки. Последний может быть использован для организации данных, или в качестве вторичной функции, предназначенные, чтобы найти минимум и максимум массива.Сортировка вставками
В сортировке методом вставки циклического предполагает сравнение каждого элемента и построение строки уже отсортированы в зависимости от состояния элементов. В конечном счете результатом каждого сравнения является поиск ячейки, в которой может быть размещен на новое значение. Но вставки каждого из них уже отсортированы частью матрицы.
Это лечение более быстрым и менее из расчета сложности. Код на языке c и представлены на диаграмме в приложении.
Он также представлен в виде функции, которой в качестве аргумента передается имя требующих организации массива и размер массива. Здесь вы можете увидеть, как медленно это пузырьковой сортировки. Вставки подобную работу намного быстрее и имеет код.
Категория: Строительство