Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <time.h>
- #pragma warning(disable:4996)
- void bubble_sort(long[], long);
- int mains() {
- int array[100], c, d, swap;
- int range;
- srand(time(NULL));
- range = (200 - 1) + 1;
- for (int i = 0; i < 100; ++i)
- {
- array[i] = rand() % range + 1;
- }
- int n = sizeof(array) / sizeof(array[0]);
- bubble_sort(array, n);
- printf("bubble sort rekurzivni\n");
- for (c = 0; c < n; c++)
- printf("%ld\n", array[c]);
- int r = mainss();
- }
- void bubble_sort(long list[], long n)
- {
- long c, d, t;
- for (c = 0; c < n - 1; c++)
- {
- for (d = 0; d < n - c - 1; d++)
- {
- if (list[d] > list[d + 1])
- {
- /* Swapping */
- t = list[d];
- list[d] = list[d + 1];
- list[d + 1] = t;
- }
- }
- }
- }
- int main()
- {
- int array[100], c, d, swap;
- int range;
- srand(time(NULL));
- range = (200 - 1) + 1;
- for (int i = 0; i < 100; ++i)
- {
- array[i] = rand() % range + 1;
- }
- int n = sizeof(array) / sizeof(array[0]);
- for (c = 0; c < n - 1; c++)
- {
- for (d = 0; d < n - c - 1; d++)
- {
- if (array[d] > array[d + 1]) /* For decreasing order use < */
- {
- swap = array[d];
- array[d] = array[d + 1];
- array[d + 1] = swap;
- }
- }
- }
- printf("bubble sort nerekurzvizni:\n");
- for (c = 0; c < n; c++)
- printf("%d\n", array[c]);
- int r = mains();
- }
- int mainss()
- {
- int array[100], c, d, position, swap;
- int range;
- srand(time(NULL));
- range = (200 - 1) + 1;
- for (int i = 0; i < 100; ++i)
- {
- array[i] = rand() % range + 1;
- }
- int n = sizeof(array) / sizeof(array[0]);
- for (c = 0; c < (n - 1); c++)
- {
- position = c;
- for (d = c + 1; d < n; d++)
- {
- if (array[position] > array[d])
- position = d;
- }
- if (position != c)
- {
- swap = array[c];
- array[c] = array[position];
- array[position] = swap;
- }
- }
- printf("select sort nerekurzivní:\n");
- for (c = 0; c < n; c++)
- printf("%d\n", array[c]);
- int r = mainsss();
- }
- void swap(int* xp, int* yp)
- {
- int temp = *xp;
- *xp = *yp;
- *yp = temp;
- }
- void selectionSort(int arr[], int n)
- {
- int i, j, min_idx;
- for (i = 0; i < n - 1; i++)
- {
- //Nalezení nejmenšího čísla
- min_idx = i;
- for (j = i + 1; j < n; j++)
- if (arr[j] < arr[min_idx])
- min_idx = j;
- // nahrazení nejmenšího prvku s prvním prvkem
- swap(&arr[min_idx], &arr[i]);
- }
- }
- /* Funkce na vytisknutí pole */
- void printArray(int arr[], int size)
- {
- int i;
- for (i = 0; i < size; i++)
- printf("%d ", arr[i]);
- printf("\n");
- }
- //Hlavní program na test ostatních funkcí
- int mainsss()
- {
- int range;
- srand(time(NULL));
- range = (200 - 1) + 1;
- int arr[100];
- for (int i = 0; i < 100; ++i)
- {
- arr[i] = rand() % range + 1;
- }
- int n = sizeof(arr) / sizeof(arr[0]);
- selectionSort(arr, n);
- printf("select sort rekurzivní: \n");
- printArray(arr, n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement