Сортировка вставкой - C (СИ)
Формулировка задачи:
Разработать программу,которая вводит целочисленную матрицу из n строк и m столбцов.Упорядочить каждую строку по возрастанию элементов.Вывести исходную матрицу и результат сортировки.сортировка вставкой
Решение задачи: «Сортировка вставкой»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { size_t m, n; size_t i, j, k; int key; int** array; srand(time(NULL)); printf("input m and n: "); scanf("%u%u", &m, &n); array = (int**) malloc(sizeof(int*) * n); for (i = 0; i < n; ++i) { array[i] = (int*) malloc(sizeof(int) * m); for (j = 0; j < m; ++j) { array[i][j] = rand() % 90 + 10; printf("%d ", array[i][j]); } printf("\n"); } printf("\n"); for (i = 0; i < n; ++i) { for (j = 1; j < m; ++j) { key = array[i][j]; for (k = j; (k > 0) && (array[i][k - 1] > key); --k) { array[i][k] = array[i][k - 1]; } array[i][k] = key; } for (j = 0; j < m; ++j) { printf("%d ", array[i][j]); } free(array[i]); printf("\n"); } free(array); return EXIT_SUCCESS; }
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные: m, n, i, j, k, key, array.
- Выделена память под массив указателей на int и заполнен его значениями.
- В цикле заполняются значениями массива.
- Выполняется сортировка вставкой для каждого подмассива.
- Выводится отсортированный массив.
- Освобождается память.
- Код заканчивается успехом.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д