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