Pesquisar na Comunidade
Mostrando resultados para as tags ''encadeado''.
Encontrado 2 registros
-
Bom dia, galera estou tentando ordenar os elementos de uma lista duplamente encadeada, porem sempre da erro, poderiam me dizer oque esta errado e como corrigir a função, função estará em destaque. Segue o código: #include <stdio.h> #include<stdlib.h> typedef struct no * link; struct no{ int conteudo; link next; link prev; }; link criarLista(); int listaVazia(link l); void imprimeLista(link l); link buscaElemento(link l, int val); void liberaLista(link l); link inserirElementos(link l, int val); link maiorNo(link l); link ordenar(link l); int main(){ link inicio = criarLista(); int i, valor; //Inserir valores e imprimir for(i = 0; i < 5; i++){ printf("\nDigite um valor para a lista: "); scanf("%d", &valor); inicio = inserirElementos(inicio, valor); } printf("Lista inicial: \n"); imprimeLista(inicio); //Buscar maior elemento link aux = maiorNo(inicio); printf("\nO maior elemento da lista e: %d\n", aux->conteudo); //Ordenar lista inicio = ordenar(inicio); printf("\nLista ordenada: \n"); imprimeLista(inicio); return 0; } link criarLista(){ return NULL; } int listaVazia(link l){ return (l == NULL); } void imprimeLista(link l){ link p = l; if(listaVazia(l)){ printf("Lista vazia!\n"); } else{ while(p != NULL){ printf("%d\t", p->conteudo); p = p->next; } } } link buscaElemento(link l, int val){ link p = l; if(listaVazia(l)){ printf("Lista Vazia!\n"); } else{ while(p != NULL){ if(p->conteudo == val){ return p; } p = p->next; } } return NULL; } void liberaLista(link l){ link p = l; while (p != NULL){ link t = p->next; free(p); p = t; } free(l); } link inserirElementos(link l, int val){ link novo = (link)malloc(sizeof(struct no)); novo->conteudo = val; novo->next = l; novo-> prev = NULL; if(l != NULL) l->prev = novo; return novo; } //Interativa link maiorNo(link l){ link p = l; link maior = (link)malloc(sizeof(struct no)); maior->conteudo = l->conteudo; for(p = l; p != NULL; p = p->next){ if(maior->conteudo < p->conteudo){ maior = p; } } return maior; } link ordenar(link l){ link p; link q; for(p = l; p != NULL; p = p->next){ for(q = l; q != NULL; q->next){ if(p->conteudo < q->conteudo){ p->conteudo = q->conteudo; } } } return p; }
-
Preciso listar apenas as datas que possuem mais de um evento e as informações de cada um desses eventos. Fiz uma consulta que me lista a quantidade de eventos por data, mas não sei como fazer para obter as informações dos eventos. Alguém pode me ajudar? SELECT substr(event.setup,1,10) as date, event.event_id, event.setup, event.teardown, event.event_type_id, count(substr(event.setup,1,10)) as amount FROM eventassist.event WHERE event.setup between '2014-01-01 00:00:00' and '2014-12-31 23:00:00' AND facility_ID = 1 GROUP BY substr(event.setup,1,10) HAVING(amount > 1)