SHOW:
|
|
- or go back to the newest paste.
1 | - | int cmp_pnt_i(const void *a, const void *b){ |
1 | + | struct tnode { |
2 | - | return(((struct point*)a)->x - ((struct point *)b)->x); |
2 | + | int value; |
3 | - | } |
3 | + | struct tnode * next; |
4 | - | int cmp_pnt_c(const void *a, const void *b){ |
4 | + | }; |
5 | - | return strcmp (((struct point*)a)->label,((struct point *)b)->label); |
5 | + | |
6 | void wypisz(struct tnode *head) { | |
7 | struct tnode *wsk=head; | |
8 | while (wsk!=NULL){ | |
9 | printf("%d \n", wsk->value); | |
10 | wsk=wsk->next;}} | |
11 | ||
12 | void uwolnij(struct tnode **head){ | |
13 | struct tnode *wsk=*head; | |
14 | struct tnode *wsk2; | |
15 | while (wsk!=NULL){ | |
16 | wsk2=wsk->next; | |
17 | free(wsk); | |
18 | wsk=wsk2; | |
19 | //printf("TEST %d \n", (*head)->value);}} | |
20 | ||
21 | struct tnode *d_na_p (struct tnode *head,int war){ | |
22 | struct tnode *new=malloc(sizeof(struct tnode)); | |
23 | if (new==NULL) | |
24 | { printf("Blad\n"); | |
25 | return NULL;} | |
26 | ||
27 | new->value=war; | |
28 | new->next=head; | |
29 | return new;} | |
30 | ||
31 | struct tnode * d_na_k(struct tnode *head, int war) | |
32 | {struct tnode *new=(struct tnode*)malloc(sizeof(struct tnode)); | |
33 | if (new==NULL) | |
34 | {printf("Blad\n"); | |
35 | return NULL;} | |
36 | new->value=war; | |
37 | new->next=NULL; | |
38 | if (head==NULL) | |
39 | head=new; | |
40 | else | |
41 | {struct tnode *w = head; | |
42 | while(w->next != NULL) | |
43 | {w=w->next; } | |
44 | w->next=new; | |
45 | return head;}} | |
46 | ||
47 | struct tnode * d_do_p(struct tnode *head, int war){ | |
48 | struct tnode *new=(struct tnode*)malloc(sizeof(struct tnode)); | |
49 | if (new==NULL){ | |
50 | printf("Blad\n"); | |
51 | return NULL;} | |
52 | new->value=war; | |
53 | new->next=NULL; | |
54 | if (head==NULL) | |
55 | head=new; | |
56 | else{ | |
57 | struct tnode *w=head; | |
58 | if ((*head).value >= (*new).value){ | |
59 | new->next=head; | |
60 | head=new;} | |
61 | else{ | |
62 | while ((*w).next != NULL){ | |
63 | if (((*w).value <= (*new).value)&&((*w).next->value >= (*new).value)) | |
64 | { | |
65 | (*new).next=(*w).next; | |
66 | (*w).next=new; | |
67 | break; | |
68 | } | |
69 | w=(*w).next; | |
70 | } | |
71 | if ((*w).next == NULL) | |
72 | (*w).next=new;}} | |
73 | return head;} | |
74 | ||
75 | struct tnode * szukaj_liczby(struct tnode *head, int war) | |
76 | { | |
77 | struct tnode *w=head; //w miejsce | |
78 | if (head==NULL) | |
79 | {printf("Blad\n"); | |
80 | return NULL;} | |
81 | else{ | |
82 | while(w->value!=war && w->next!=NULL){ | |
83 | w=w->next;} | |
84 | if(w->value ==war) | |
85 | puts("[szukaj] Znalazlo liczbe"); | |
86 | else puts("[szukaj] Nie znalazlo liczby");}} | |
87 | ||
88 | struct tnode * usun_liczbe(struct tnode *head, int war){ | |
89 | int n=0; | |
90 | struct tnode *wskaz=head; | |
91 | struct tnode *w=head; | |
92 | ||
93 | if (head==NULL){ | |
94 | printf("Blad\n"); | |
95 | return NULL;} | |
96 | else{ | |
97 | while(w->value!=war && w->next!=NULL){ | |
98 | wskaz=w; | |
99 | w=w->next; | |
100 | n++;} | |
101 | ||
102 | if(w->value!= war) | |
103 | puts("[usuwanie] Nie znalazlo liczby"); | |
104 | else{ | |
105 | if(n==0) | |
106 | head=w->next; | |
107 | wskaz->next=w->next;}} | |
108 | return head;} |