Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h> // qsort() i reszty funk.
- #include <time.h>
- void wstawianie(int *liczby, int size)
- {
- int tmp, i ,j;
- for(i = 1; i < size; ++i)
- {
- tmp = liczby[i];
- printf("liczby[%d] = %d\n", i, tmp);
- for(j = i; j > 0 && liczby[j - 1] > tmp; j--)
- {
- printf("+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\n");
- liczby[j] = liczby[j - 1];
- printf("|liczby[j] = liczby[j - 1] <=> liczby[%d] = liczby[%d - 1] <=> Indeks %d ma teraz liczbe: %d\n", j, j, j, liczby[j - 1]);
- liczby[j - 1] = tmp;
- printf("|liczby[j - 1] = tmp <=> liczby[%d - 1] = %d\n", j, tmp);
- printf("+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\n");
- }
- printf("--------------------------------\n");
- }
- }
- void babelki(int *liczby, int size)
- {
- int i, j;
- for(i = 0; i < size-1; ++i)
- {
- for(j = 0; j < size - i - 1; ++j)
- {
- if(liczby[j] > liczby[j + 1])
- {
- int tmp = liczby[j];
- liczby[j] = liczby[j + 1];
- liczby[j + 1] = tmp;
- }
- }
- }
- }
- void generuj(int *liczby, int size)
- {
- int i;
- // Generujmey liczby
- for(i = 0; i < size; i++)
- liczby[i] = rand();
- }
- int porownaj( const void *a, const void *b)
- {
- return(*(int*)a - *(int*)b);
- }
- void quicksort(int *liczby, int size)
- {
- qsort(liczby, size, sizeof(int), porownaj);
- }
- void drukuj(int *liczby, int size)
- {
- int i;
- for(i=0; i < size; ++i)
- printf("%d ", liczby[i]);
- printf("\n");
- }
- int main(int argc, char **argv)
- {
- srand(time(NULL));
- int size = 100;
- int i = 0;
- int *tablica = (int *)malloc(size * sizeof(int));
- generuj(tablica, size);
- printf("Przed babelkiem:\n");
- drukuj(tablica, size);
- printf("Po babelku:\n");
- babelki(tablica, size);
- drukuj(tablica, size);
- generuj(tablica, size);
- printf("Przed wstawianiem:\n");
- drukuj(tablica, size);
- printf("Po wstawianu:\n");
- wstawianie(tablica, size);
- drukuj(tablica, size);
- generuj(tablica, size);
- printf("Przed quicksort:\n");
- drukuj(tablica, size);
- printf("Po qsort:\n");
- quicksort(tablica, size);
- drukuj(tablica, size);
- // zwalniamy pamiec
- free(tablica);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement