Exemplo n.º 1
0
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;
}
Exemplo n.º 2
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;



}
Exemplo n.º 3
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;
}
Exemplo n.º 4
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;   
}
Exemplo n.º 5
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;
}
Exemplo n.º 6
0
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;
}
Exemplo n.º 7
0
	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");
		
		
	}
Exemplo n.º 8
0
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();
	}
        
}
Exemplo n.º 9
0
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);
}
Exemplo n.º 10
0
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;
}
Exemplo n.º 11
0
void imprime_ht(void)
{
	register int i;

	for (i = 0; i < MAX_HASH; i++) {
		printf("[%d] ", i);
		imprimeLista(hashTable[i]);
	}
}
Exemplo n.º 12
0
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;}
Exemplo n.º 13
0
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;
}
Exemplo n.º 14
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;
}
Exemplo n.º 15
0
int main(){

    lista lst;
    initLista(&lst);

    insereInicio(&lst, 10);
    insereOrdenado(&lst, 1);
    imprimeLista(&lst);



    return 0;
}
Exemplo n.º 16
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);
}
Exemplo n.º 19
0
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 );
}
Exemplo n.º 21
0
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;
}
Exemplo n.º 22
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;
}
Exemplo n.º 23
0
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;
}
Exemplo n.º 24
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();
	}
}
Exemplo n.º 25
0
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();
	}
}
Exemplo n.º 26
0
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 );  
}
Exemplo n.º 28
0
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;
}	
Exemplo n.º 29
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);
}
Exemplo n.º 30
0
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;
}