Отсортировать массив который заполнен случайными целыми числами методом прямого сравнения
Ответы на вопрос
PascalABC.NET 3.3, сборка 1627 от 27.01.2018
Внимание! Если программа не работает, обновите версию!
procedure SortByInsert(a: array of integer);
// сортировка простыми вставками
begin
for var i := 1 to a.Length - 1 do
if a[i - 1] > a[i] then begin
var (p, j) := (a[i], i - 1);
while (j >= 0) and (a[j] > p) do
(a[j + 1], j) := (a[j], j - 1);
a[j + 1] := p
end
end;
begin
var a := ArrRandom(15, -50, 50); a.Println;
SortByInsert(a); a.Println
end.
Пример
-47 -37 -9 44 7 43 44 -10 5 -12 4 -24 7 21 -47
-47 -47 -37 -24 -12 -10 -9 4 5 7 7 21 43 44 44
Для сортировки массива, заполненного случайными целыми числами, методом прямого сравнения, можно использовать алгоритм сортировки пузырьком. Этот алгоритм проходит по массиву несколько раз, сравнивая соседние элементы и меняя их местами, если они находятся в неправильном порядке. Повторяя этот процесс до тех пор, пока массив не будет полностью отсортирован, мы получим отсортированный массив.
Вот пример кода на языке C++, который реализует сортировку пузырьком:
```cpp
#include
void bubbleSort(int arr[], int size) { for (int i = 0; i < size - 1; i++) { for (int j = 0; j < size - i - 1; j++) { if (arr[j] > arr[j + 1]) { // Меняем местами элементы int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } }
int main() { int arr[] = {5, 2, 8, 12, 1}; int size = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, size);
std::cout << "Отсортированный массив: "; for (int i = 0; i < size; i++) { std::cout << arr[i] << " "; } std::cout << std::endl;
return 0; } ```
В этом примере мы сначала объявляем функцию `bubbleSort`, которая принимает массив и его размер в качестве аргументов. Затем мы используем два вложенных цикла `for`, чтобы пройти по массиву и сравнить каждую пару соседних элементов. Если элементы находятся в неправильном порядке, мы меняем их местами. После завершения сортировки мы выводим отсортированный массив на экран.
Обратите внимание, что в этом примере мы используем фиксированный массив для наглядности. В реальной ситуации вы можете заполнить массив случайными числами перед вызовом функции `bubbleSort`.
Надеюсь, это поможет! Если у вас есть еще вопросы, не стесняйтесь задавать.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
