Enviado em 22/08/2012 - 16:43h
Galera meu professor passou um exercício para fazer em C de listas de listas. Tipo assim, ele quer que eu faça uma listas com prioridades num array, onde cada posição do array representa uma prioridade, e cada posição aponta para uma lista. ex.se vc for inserir uma lista com prioridade 1 é inserida no array 1, com prioridade 2 é inserida no array 2, e assim por diante. Como fazer isso??? Me ajudem, por favor...Enviado em 23/08/2012 - 12:02h
Nunca criei um array de listas mais achei esse código aqui mesmo no fórum que talvez ajudeEnviado em 27/08/2012 - 06:25h
Uma lista de listas é simplesmente uma lista como outra qualquer, só que com a particularidade de que o dado armaezado em cada elemento é um ponteiro para outra lista.struct generic_list_node { int data; /* o tipo do dado pode ser qualquer coisa, não necessariamente int */ struct generic_list_node *next; }; struct prio_list_node { /* "prio" da a prioridade e "list" contem os elementos com tal prioridade. */ unsigned prio; struct generic_list_node *list; /* Proximo elemento desta propria lista. */ struct prio_list_node *next; }; void add_prio_element(struct prio_list_node **prio_list, unsigned prio, int value){ struct prio_list_node *p, *before_p; before_p=NULL; p=*prio_list; while ((p != NULL) && (p->prio < prio)) { before_p=p; p=p->next; } if ((p != NULL) && (p->prio == prio)) { /* Prioridade já existe, logo apenas adiciona novo evento à sua lista. */ add_element(&p->list, value); } else { /* A prioridade solicitada ainda não existe. */ struct prio_list_node *new_prio_node; /* Cria uma nova lista para a dada prioridade. */ new_prio_node=malloc(sizeof struct prio_list_node); new_prio_node->prio=prio; new_prio_node->list=NULL; add_element(&new_prio_node->list, value); new_prio_node->next=p; if (before_p==NULL) { /* Novo primeiro elemento da lista de prioridades (incluindo caso de lista vazia). */ *prio_list=new_prio_node; } else { /* Nova prioridade não é a primeira da lista. */ before_p->next=new_prio_node; } } }
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
instalar o Linux em computadores Acer novos (2)
compilação samba 4.22 rock linux 9.5 (4)