Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct lista lista;
- struct lista
- {
- int value;
- lista *next;
- };
- lista *Add(lista *list, int value)
- {
- lista *new = malloc(sizeof(lista));
- if(new == NULL) return NULL;
- new->next = list;
- new->value = value;
- return new;
- }
- int show(lista *list)
- {
- //lista *lisa;
- while(list != NULL)
- {
- printf("%d\n", list->value);
- list = list->next;
- }
- return 1;
- }
- int compare(lista *a, lista *b)
- {
- if(a->value < b->value) return -1;
- if(a->value == b->value) return 0;
- return 1;
- }
- lista *ListToArray(lista *li, int lenght)
- {
- int i;
- lista *new = malloc(lenght * sizeof(lista));
- if(new == NULL) return NULL;
- for( i = 0; i < lenght; i++)
- {
- (new + i)->value = li->value;
- (new + i)->next = li->next;
- li = li->next;
- }
- return new;
- }
- int main(void)
- {
- int i;
- lista *li = malloc(sizeof(lista));
- li->value = 13;
- li = Add(li, 9);
- li = Add(li, 18);
- li = Add(li, 169);
- li = Add(li, 7);
- show(li);
- printf("\n");
- lista *tablica = ListToArray(li, 5);
- qsort(tablica, 5, sizeof(lista), compare);
- for( i = 0; i < 5; i++)
- {
- printf("%d\n", (tablica + i)->value);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement