int main(int argc, char **argv) { no *n; lista *l; lista *l2; int i; l = criaLista(); l2 = criaLista(); for(i = 1 ; i < 5 ; i++){ n = criaNo(i); insereFim(l,n); } for(i = 1 ; i < 5 ; i++){ n = criaNo(i); insereIni(l2,n); } printf("\n ***inserindo no fim e imprimindo*** \n"); imprimeLista(l); printf("\n ***inserindo no inicio e imprimindo*** \n"); imprimeLista(l2); liberaLista(l);/* libernado as listas*/ liberaLista(l2); /* libernado as listas*/ return 0; }
int main(){ No* L1,*L2,*L3; L1=criaLista(); L2=criaLista(); L3=criaLista(); L1=insereOrdenado(L1,2,2); L1=insereOrdenado(L1,1,1); L1=insereOrdenado(L1,3,3); L2=insereOrdenado(L2,1,1); L2=insereOrdenado(L2,1,2); L2=insereOrdenado(L2,1,3); imprimeLista(L1); printf("\n"); imprimeLista(L2); L3=somaPolinomio(L1,L2,L3); printf("\n"); imprimeLista(L3); return 0; }
int main(){ //tamVariables(); ptrNodo ptrRaiz = NULL; //apuntador a la raiz imprimeLista(ptrRaiz); insertaNodo(5, &ptrRaiz); imprimeLista(ptrRaiz); insertaNodo(8, &ptrRaiz); imprimeLista(ptrRaiz); return 0; }
/* Inicializacao */ int main(){ Sequencia* comeco; comeco = NULL; /* Inicializacao da lista como vazia */ int numero_lido; char parametro; do{ parametro = getchar(); switch(parametro){ case('i'): /* Insere um novo no */ getchar(); scanf("%d", &numero_lido); getchar(); insere(numero_lido, comeco); break; case('r'): /* Faz a remocao de nos com numeros pares */ removePar(&comeco); printf("Remocao feita com sucesso\n"); break; case('p'): /* Faz a impressao de todos os nos que contem numeros impares */ if(comeco != NULL) imprimeLista(comeco); break; } } while(parametro != 'f'); system("pause"); return 0; }
lista *insereFim(lista *inicio) { lista *novo, *aux; int num; aux = inicio; printf("\nDigite um valor para inserir no novo nodo: "); scanf("%d", &num); novo = getMallocLista(); if (novo != 0){ novo->valor = num; novo->prox = NULL; if (aux == NULL){ inicio = novo; } else{ while (aux->prox != NULL){ aux = aux->prox; } aux->prox = novo; } } imprimeLista(inicio,contaLista(inicio), 0, 1); return inicio; }
lista *inserePosN(lista *inicio){ lista *novo, *anterior, *proximo; int num, pos; int numLista = contaLista(inicio); do{ printf("\nInsira a posicao da lista na qual voce deseja adicionar um nodo: "); scanf("%d", &pos); if (pos < 0 || pos > numLista+1){ printf("\nA lista possui %d posicoes, insira uma posicao compativel para inserir um nodo!"); } } while (pos < 0 || pos > numLista+1); if (isPrimeiro(pos)){ inicio = insereInicio(inicio); } else if (pos == numLista+1){ inicio = insereFim(inicio); } else{ printf("\nDigite um valor para inserir no novo nodo: "); scanf("%d", &num); novo = getMallocLista(); anterior = pegaNodoN(inicio, pos - 1); proximo = pegaNodoN(inicio, pos + 1); if (novo != 0){ novo->valor = num; novo->prox = anterior->prox; anterior->prox = novo; } imprimeLista(inicio, pos, 0, 1); } return inicio; }
int main(){ char modelo; int ano; Lista lista; //cria a lista vazia CriarLista(&lista); //Incluindo Elementos na lista //modelo="fiat"; ano = 1990; inserir(modelo,ano,1,&lista); printf("\nlista qtd: %d\n", lista.qtd); //Incluindo Elementos na lista //modelo="fiat"; ano = 2010; inserir(modelo,ano,2,&lista); printf("\nlista qtd: %d\n", lista.qtd); //Incluindo Elementos na lista //modelo="fiat"; ano = 2015; inserir(modelo,ano,3,&lista); printf("\nlista qtd: %d\n", lista.qtd); printf("\n imprimindo lista: \n"); imprimeLista(lista); system("pause"); }
void query6(){ char c = '1'; ListaLigada l = NULL; imprimeNumQuery(6); puts("Qual a letra inicial do Cliente?"); scanf(" %c",&c); while(c < 'A' || c > 'z') { puts("Letra inválida, insira outra vez:"); scanf(" %c",&c); } if(c >= 'a' && c <= 'z'){ c = c - ('a' - 'A'); } l = clientesParaLista(l, clientes[c - 'A']); if(l != NULL) imprimeLista(l); else { printf("Não existem clientes começados pela letra %c\n",c); c = getchar(); c = getchar(); } }
void uniaoEntreConjuntos(Conjunto* c1, Conjunto* c2) { Conjunto* p1; //Ponteiro auxiliar para percorrer o conjunto 1 Conjunto* p2; //Ponteiro auxiliar para percorrer o conjunto 2 Conjunto* resultante; //Conjunto resultate da diferença resultante = cria(); p1 = c1; p2 = c2; while(p1 != NULL) { if(isPresent(resultante, p1->valor)){ p1 = p1->proximo; } else { resultante = insereElementosOrdenados(resultante, p1->valor); p1 = p1->proximo; } } while(p2 != NULL) { if(isPresent(resultante, p2->valor)){ p2 = p2->proximo; } else { resultante = insereElementosOrdenados(resultante, p2->valor); p2 = p2->proximo; } } printf("--- Uniao entre os conjuntos ---\n"); imprimeLista(resultante); }
int main(void) { LISTA *l = NULL; int listSize = 0; int i = 0; int randVal = 0; int val = 0; clock_t s,f; printf("Informe o tamanho da lista: "); scanf("%i", &listSize); srand(time(NULL)); for(i=0; i<listSize; i++) { randVal = rand()%100; push(&l, randVal); } printf("\n"); printf("Lista desordenada: "); imprimeLista(l); s = clock(); LISTA *ord = insertionSortList(l); f = clock(); printf("\n"); printf("Lista ordenada: "); imprimeLista(ord); float t = (f-s)*1000/CLOCKS_PER_SEC; printf("\nTempo: %.2f\n", t); printf("\n Informe o valor a ser buscado: "); scanf("%i", &val); if(binarySearch(ord, val) == 0) { printf("\n O valor: %i, esta na lista.\n", val); } else { printf("\n Valor nao encontrado!\n"); } listFree(l); listFree(ord); return 0; }
void imprime_ht(void) { register int i; for (i = 0; i < MAX_HASH; i++) { printf("[%d] ", i); imprimeLista(hashTable[i]); } }
int imprimeAmostras(Proc** amostras, int N,int M){ int i=0; while(i<N){ printf("lista %d:\n",i); imprimeLista(amostras[i],M); printf("\n"); i++; } return i;}
int main(int argc, char **argv) { no *n; lista *l; lista *l2; lista *l3; int i,k; l = criaLista(); l2 = criaLista(); l3 = criaLista(); for(i = 1 ; i < 5 ; i++){ n = criaNo(i); insereFim(l,n); } for(i = 2 ; i < 6 ; i++){ n = criaNo(i); insereFim(l2,n); } printf("\n **lista ** \n"); imprimeLista(l); printf("\n **lista 2** \n"); imprimeLista(l2); printf("\n **uniao ** \n"); uniao(l,l2,l3); imprimeLista(l3); liberaLista(l3); l3 = criaLista(); printf("\n **intersecao ** \n"); intersecao(l,l2,l3); imprimeLista(l3); k = pertence(l,l2); printf("\n \n 0 - NAO \n 1 - SIM \n"); printf("pertence: %d \n",k); liberaLista(l); liberaLista(l2); liberaLista(l3); return 0; }
int main(int argc, char **argv) { int i; lista *l; no *n; l = criaLista(); for(i = 0; i < 5; i++){ n = criaNo(i); insereFim(l,n); } printf("\n**lista normal**\n"); imprimeLista(l); //~ trocaPos(l,2,3); trocaPos(l,2,3); printf("\n**lista trocaPos**\n"); imprimeLista(l); //~ liberaLista(l); return 0; }
int main(){ lista lst; initLista(&lst); insereInicio(&lst, 10); insereOrdenado(&lst, 1); imprimeLista(&lst); return 0; }
void query8() { int i; char codigo[7],c; ListaLigada clientesN = NULL, clientesP = NULL; Compras caux; clock_t begin, end; double tempo; imprimeNumQuery(8); puts("Insira o código do produto:"); scanf("%s",codigo); while(!existeP(produtos[codigo[0]-'A'], codigo)){ puts("Código inválido, insira outra vez:"); scanf("%s",codigo); } begin = clock(); /* Carrega tempo actual */ for(i = 0; i < 12; i++){ caux = compras[i]; clientesN = listaClientesCompraramProduto(caux,clientesN,'N',codigo); clientesP = listaClientesCompraramProduto(caux,clientesP,'P',codigo); } end = clock(); /* Carrega tempo actual */ tempo = (double)(end - begin) / CLOCKS_PER_SEC; puts(">>>>>MODO NORMAL<<<<<"); imprimeLista(clientesN); puts(">>>>>MODO PROMOÇAO<<<<<"); imprimeLista(clientesP); printf("A query executou em %f segundos.\n",tempo); c = getchar(); c = getchar(); }
int main() { LISTA ptrLista; ptrLista = NULL; insertaNodo( &ptrLista ); imprimeLista( ptrLista ); imprimeCuenta( cuentaNodo( ptrLista ) ); system( "pause" ); }
// *********************************************** // ****** Inverter as letras ****** // *********************************************** void inverteFrase(Lista S) { char frase[40]; char c; int pos,i = 0; if ( S.inicio == NULL) printf("Lista Vazia\n"); else { tNo* posAtual = S.inicio; do { frase[i] = posAtual->caractere; posAtual = posAtual->prox; i++; pos++; }while(posAtual != NULL); pos=S.tam; initString(&S); do { c = frase[pos]; if(c == 91) { inserirItem(&S,' '); }else { inserirItem(&S,c); } //printf("%c",c); pos--; }while((pos >= 0 )||( c >= 48)&&(c <= 125)); } printf("\n"); imprimeLista(S); }
int main(int argc, char** argv) { lista *ptri = NULL; int menu = 1; printf("************************************************"); printf("\n* OPERACOES COM LISTAS SIMPLESMENTE ENCADEADAS *"); printf("\n************************************************"); printf("\nPressione ENTER para continuar.."); getch(); while (menu != 0){ if (ptri != NULL){ menu = imprimeMenu(); switch (menu){ case 1: ptri = insereInicio(ptri); break; case 2: ptri = insereFim(ptri); break; case 3: ptri = inserePosN(ptri); break; case 4: trocaPos(ptri); break; case 5: ptri = deletaNodo(ptri); break; case 6: imprimeLista(ptri, 0, 0, 1); break; }//fecha switch menu }//fecha if else{ ptri = inserePrimeiro(ptri); } }//fecha while return (EXIT_SUCCESS); }
void procesaLista( LISTA *lA ) { int orden, opc, numAux; do { opc = imprimeMenu(); switch( opc ) { case 1: numAux = leerNum(); insertaNodo( lA, numAux ); // printf( "\n Nodos de A: %d ", *nEa ); system( "pause" ); break; case 2: imprimeLista( *lA ); system( "pause" ); break; case 3: orden = determinaOrdenRec( *lA ); if( orden == 1 ) printf( "\n Las lista esta ordenada crecientemente " ); else printf( "\n Las lista no esta ordenada ascedentemente " ); system( "pause" ); break; case 4: numAux = leerNum(); if( busquedaRecursiva( *lA, numAux ) ) printf( "\n El elemento se ha encontrado " ); else printf( "\n El dato no esta en la lista " ); system( "pause" ); break; default: completaLista( *lA ); } }while( opc > 0 && opc < 6 ); }
int main(){ int i; lista l; no n; criaLista(&l); for(i = 0; i < 10; i++){ criaNo(&n,i); insereFim(&l,n); /* inserindo no Fim*/ } printf("\n *** removendo a 2 pos***\n"); removePos(&l,2); imprimeLista(&l); liberaLista(&l); return 0; }
lista *insereInicio(lista *inicio){ int num; lista *novo; printf("\nDigite um valor para inserir no novo nodo: "); scanf("%d", &num); novo = getMallocLista(); if (novo != NULL) { novo->valor = num; novo->prox = inicio; inicio = novo; } imprimeLista(inicio, 1, 0, 1); return inicio; }
int main(){ int i; lista l; no n; criaLista(&l); for(i = 0; i < 10; i++){ criaNo(&n,i); insereFim(&l,n); } criaNo(&n,5); insereNCopias(&l,n,2,4); printf("\n**INSERE NCOPIAS\n"); imprimeLista(&l); liberaLista(&l); return 0; }
void trocaPos(lista *inicio){ int pos, pos2, numLista, confirma, aux; numLista = contaLista(inicio); if (numLista > 1){ do{ printf("\nInsira a posicao do nodo que deseja trocar: "); scanf("%d", &pos); if (pos < 1 || pos > numLista){ printf("\nA lista possui %d posicoes comecando pelo indice 1, o nodo selecionado não existe!", numLista); } } while (pos < 1 || pos > numLista); do{ printf("\nInsira a posicao do nodo que deseja trocar pelo primeiro: "); scanf("%d", &pos2); if (pos2 < 1 || pos2 > numLista){ printf("\nA lista possui %d posicoes comecando pelo indice 1, o nodo selecionado não existe!", numLista); } else if (pos2 == pos){ printf("\nInsira um valor diferente do primeiro!"); } } while ((pos < 1 || pos > numLista) || pos2 == pos); do{ imprimeLista(inicio, pos, pos2, 0); printf("\n\nDeseja trocar o nodos selecionados? (1.Sim - 0.Nao)"); scanf("%d", &confirma); if (confirma == 1){ aux = pegaNodoN(inicio, pos)->valor; pegaNodoN(inicio, pos)->valor = pegaNodoN(inicio, pos2)->valor; pegaNodoN(inicio, pos2)->valor = aux; } } while (confirma != 1 && confirma != 0); } else{ printf("\nPara trocar nodos de posicao voce precisa ter ao menos 2 nodos na lista!"); printf("\nPressione ENTER para continuar.."); getch(); } }
void query2(){ char c = '1'; ListaLigada l = NULL; imprimeNumQuery(2); puts("Qual a letra inicial do código?"); scanf(" %c",&c); while( c < 'A' || c > 'Z') { puts("Letra inválida, insira outra vez:"); scanf(" %c",&c); } l = produtosParaLista(l, produtos[c-'A']); if(l != NULL) imprimeLista(l); else { printf("Não existem produtos começados pela letra %c\n",c); c = getchar(); c = getchar(); } }
void query9() { char codigo[6],c; int mes; ListaLigada produtos = NULL; ListaCompras lc=NULL,lcsr=NULL,lco=NULL; clock_t begin, end; double tempo; imprimeNumQuery(9); puts("Qual o Cliente?"); scanf("%s",codigo); while(!existeC(clientes[codigo[0]-'A'], codigo)){ puts("Cliente inválido, insira outra vez:"); scanf("%s",codigo); } puts("Insira o mês:"); scanf("%d",&mes); while(mes<1 || mes>12){ puts("Mês inválido, insira outra vez:"); scanf("%d",&mes); } begin = clock(); lc = devolveListaComprasCliente(compras[mes-1],lc,codigo); lcsr = juntaComprasPorProduto(lcsr,lc); lco = insereComprasOrdenadas(lco,lcsr); produtos = listaLigadaDeCompras(lco,produtos); end = clock(); tempo = (double)(end - begin) / CLOCKS_PER_SEC; imprimeLista(produtos); printf("A query executou em %f segundos.\n",tempo); c = getchar(); c = getchar(); }
int capturaLista( LISTA *lA, LISTA *lB, int *nEa, int *nEb ) { int resIgual, opc, numAux; do { opc = imprimeMenu(); switch( opc ) { case 1: numAux = leerNum(); insertaNodo( lA, numAux, nEa ); printf( "\n Nodos de A: %d ", *nEa ); system( "pause" ); break; case 2: numAux = leerNum(); insertaNodo( lB, numAux, nEb ); printf( "\n Nodos de B: %d ", *nEb ); system( "pause" ); break; case 3: resIgual = determinaIgualdad( *lA, *lB, *nEa, *nEb ); if( resIgual == 1 ) printf( "\n Las lista son iguales " ); else printf( "\n Las lista son diferentes " ); system( "pause" ); break; case 4: imprimeLista( *lA, *lB ); break; } }while( opc > 0 && opc < 5 ); return( resIgual ); }
int main(int argc, char* argv[]){ Cell root; int nuevo_numero; root.payload = -1; root.next= NULL; int opcion = menu(); while( opcion != 3){ if(opcion ==0){ printf ("Dame un numero:"); scanf ("%d", &nuevo_numero); agregar(&root, nuevo_numero); printf("\n"); }else if (opcion ==1){ pop (&root); }else if (opcion ==2){ imprimeLista(&root); } printf("\n"); opcion= menu(); } erase(&root); return 0; }
void query4(){ ListaLigada l = NULL, prod = NULL; int i, j, flag = 0; imprimeNumQuery(4); for(i = 0; i < 26; i++){ prod = produtosParaLista(prod, produtos[i]); } while(prod){ for(j = 0; j < 12; j++){ if(!produtoFoiComprado(contas[j],prod->codigo)){ flag++; } } if(flag == 12) l = insereElemento(l, prod->codigo); flag = 0; prod = prod->prox; } if(l != NULL) imprimeLista(l); }
int main(){ lista *li; li = criaLista(); int opcao; while(1){ limpaTela(); colocaAcentos(); printf("[1] Adicionar Telefone \n[2] Imprimir Lista de telefones\n[3] Quantidade de telefones na lista\n[4] Remover ultimos\n[99] Sair\n\n"); limpaBuffer(); printf("Digite a opção desejada: "); scanf("%d",&opcao); if(opcao == 1){ int qntdTelefones,i; printf("Digite a quantidade de telefones que deseja inserir: "); limpaBuffer(); scanf("%d",&qntdTelefones); Telefone tel[qntdTelefones]; for(i=0; i<qntdTelefones; i++){ limpaBuffer(); printf("Digite o nome: "); gets(tel[i].nome); limpaBuffer(); printf("Digite a marca: "); gets(tel[i].marca); insereNaListaPrimeiro(li,tel[i]); } limpaTela(); }else if(opcao == 2){ limpaTela(); imprimeLista(li); pausaTela(); }else if(opcao == 3){ limpaTela(); int qntd; qntd = quantidadeElementosLista(li); printf("Quantidade de telefones cadastrados: %d\n",qntd); pausaTela(); }else if(opcao == 4){ int qntdRemocao,i; limpaBuffer(); printf("Digite a quantidade de telefones que deseja remover: "); scanf("%d",&qntdRemocao); for(i=0; i<qntdRemocao; i++){ removerNaListaPrimeiro(li); } }else if(opcao == 99){ char confirmacao[4]; limpaBuffer(); printf("Deseja mesmo sair? (sim ou nao): "); gets(confirmacao); if(strcmp(confirmacao,"sim")==0){ return 0; } } } destroiLista(li); return 0; }