/* * ex2.c * - exemplo de utilização de llist com um TAD definido * pelo utilizador: neste caso Aluno * * Created by JosŽ Carlos Ramalho on 11/02/25. * Copyright 2011 __MyCompanyName__. All rights reserved. * */ #include #include #include #include "llist.h" typedef struct sAluno { char *nome; char *curso; char *num; float media; } Aluno; void vListAluno (Aluno *a) { printf ("%s::%s::%s::%.2f\n", a->nome, a->curso, a->num, a->media ); } int compAluno( Aluno *a, Aluno *b ) { int res; res = strcmp(a->num, b->num); return res; } int compChaveAluno( char *chave, Aluno *b ) { int res; res = strcmp( chave, b->num); return res; } int main () { LList l1=NULL, l2=NULL, l3=NULL; Aluno a1={"Carlos", "LEI", "4140", 16.5}, a2={"Maria", "LCC", "2232", 10.4}, a3={"Ana", "LRI", "3576", 13.7}; l1 = insert_LList( l1, &a1, sizeof(Aluno)); l1 = insert_LList( l1, &a2, sizeof(Aluno)); l1 = insert_LList( l1, &a3, sizeof(Aluno)); printf("\n\nListagem no fim do Push\n\n"); list_LList (l1, vListAluno); l2 = sortedinsert( l2, &a1, sizeof(Aluno), compAluno); l2 = sortedinsert( l2, &a2, sizeof(Aluno), compAluno); l2 = sortedinsert( l2, &a3, sizeof(Aluno), compAluno); printf("\n\nListagem no fim da inserção ordenada\n\n"); list_LList (l2, vListAluno); l2 = removeLList( l2, "4140", compChaveAluno ); printf("\n\nListagem no fim da remoção do aluno 4140\n\n"); list_LList (l2, vListAluno); return 1; }