Реализовать сортировки пузырьком, Шелла и быструю - C (СИ)
Формулировка задачи:
Нужно реализовать сортировки пузырьком, Шелла и быструю. Есть наброски. Программа прекращает работу после введения чисел.
#include <stdio.h> void bubble(int *items, int count) { int i, j; int t; for(i = 1; i < count; ++i) for( j = count-1; j >= i; --j) { if(items[j - 1] > items[ j ]) { t = items[j - 1]; items[j - 1] = items[ j ]; items[ j ] = t; } } } void shell(int *items, int count) { int i, j, gap, k; int x, a[5]; a[0]=8; a[1]=5; a[2]=3; a[3]=2; a[4]=1; for(k=0; k < 5; k++) { gap = a[k]; for(i=gap; i < count; ++i) { x = items[i]; for(j=i-gap; (x < items[j]) && (j >= 0); j=j-gap){ items[j+gap] = items[j]; } items[j+gap] = x; } } } void quickSort(int *items, int left, int right) { int i, j; int x, y; i = left; j = right; x = items[(left+right)/2]; do { while((items[i] < x) && (i < right)) i++; while((x < items[j]) && (j > left)) j--; if(i <= j) { y = items[i]; items[i] = items[j]; items[j] = y; i++; j--; } } while(i <= j); if(i < right) quickSort(items, i, right); if(left < j) quickSort(items, left, j); } void quickSortMain(int *items, int count) { quickSort(items, 0, count-1); } int main(void) { const int N = 5; int s[5]; int p[5]; int r[5]; printf("Enter a masiv:"); scanf("%i", s[N]); bubble(s, N); printf("The sorted bubble is: %s.\n", s[N]); printf("Enter a masiv:"); scanf("%i", p[N]); shell(p, N); printf("The sorted shell is: %s.\n", p[N]); printf("Enter a masiv:"); scanf("%i", r[N]); quickSortMain(r, N); printf("The sorted string quick is: %s.\n", r[N]); return 0; }
Решение задачи: «Реализовать сортировки пузырьком, Шелла и быструю»
textual
Листинг программы
const int N = 5; int s[5]; scanf("%i", s[N]);
Объяснение кода листинга программы
- В начале кода объявляется константа N равная 5, которая представляет собой количество элементов в массиве s.
- Затем объявляется массив s типа int с размером N.
- Далее происходит чтение N-1 элементов массива s с помощью функции scanf, где пользователь вводит значения этих элементов.
- Последний элемент массива s инициализируется значением N.
- Код не содержит реализации сортировки пузырьком, Шелла и быстрой, поэтому дальнейшие действия зависят от того, что делает программа после этого.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д