Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
#define N 20
struct Lista
{
struct Lista *next;
int wartosc;
};
typedef struct Lista Lista;
void wypisz(Lista *lista)
{
Lista *wsk = lista;
while(wsk)
{
printf("%d ", wsk->wartosc);
wsk = wsk->next;
}
}
void dodaj(Lista *lista, int liczba)
{
Lista *wsk, *nowy;
wsk = lista;
while(wsk->next)
wsk = wsk->next;
nowy = malloc(sizeof(Lista));
nowy->wartosc = liczba;
nowy->next = NULL;
wsk->next = nowy;
}
void sortuj(Lista *lista)
{
Lista *wsk;
wsk = lista;
int pomoc;
while(wsk)
{
if(wsk->wartosc > wsk->next->wartosc)
{
pomoc = wsk->wartosc;
wsk->wartosc = wsk->next->wartosc;
wsk->next->wartosc = pomoc;
}
wsk = wsk->next;
}
}
main()
{
Lista *pierwszy;
int i;
srand(time(NULL));
pierwszy = malloc(sizeof(Lista));
pierwszy->wartosc = rand()%10;
pierwszy->next = NULL;
for(i = 0; i < N; i++)
dodaj(pierwszy, rand()%10);
wypisz(pierwszy);
sortuj(pierwszy);
wypisz(pierwszy);
printf("\n");
system("PAUSE");
return 0;
}