-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTP4.c
102 lines (83 loc) · 1.48 KB
/
TP4.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
struct lista {
int x;
struct lista *prox;
};
typedef struct lista Lista;
Lista *lst_cria (void) {
return NULL;
}
Lista *lst_insere (Lista *l, int a) {
Lista *n = (Lista*) malloc(sizeof(Lista));
n->x = a;
n->prox = l;
return n;
}
void lst_imprime (Lista *l) {
Lista *p;
if (l!=NULL) {
for (p = l; p != NULL; p = p->prox) {
printf ("Termo = %d\n", p->x);
}}
else {
printf ("\nVazio!\n");}
}
void lst_libera (Lista *l) {
Lista * p = l;
while (p != NULL) {
Lista * t = p->prox;
free (p);
p = t;
}
}
/*int lst_maior (Lista*l) {
lista *q;
int maior = 0;
if (q != NULL) {
for (q = l->prim;q != NULL;q = q->prox) {
if (p->x > maior){
p->x = maior; }
}
}
return maior;
}*/
/* função busca: busca o elemento na lista
Lista * lst_busca (Lista * l , int v) {
Lista * p;
for (p = l; p != NULL; p = p->prox) {
if (p->x == v)
return p;
}
return NULL;
}*/
int main () {
Lista *l, *p;
l = lst_cria ();
p = lst_cria();
l = lst_insere (l, 200);
l = lst_insere (l, 100);
l = lst_insere (l, 32);
l = lst_insere (l, 20);
l = lst_insere (l, 2);
p = lst_maior(l);
lst_imprime(p);
lst_imprime(l);
lst_libera (l);
lst_libera (p);
}
/*int lst_maior (Lista*l) {
lista *q, *p;
int maior = 0;
if (q != NULL) {
for (q = l->prim;q != NULL;q = q->prox) {
if (l->x > maior){
maior = l->x; }
}
}
for (p = maior;p != NULL;p = p->prox) {
lst_insere(p,p->x);}
return p;
}
*/