Listas ligadas

563 palavras 3 páginas
#include
#include
#include "funcoes_listas.h"

int main(){

PNodo p; int opcao, valor,soma=0, num =0,ele,elemRemov, elemR;

do { printf("\n************** Menu ***************\n\n"); printf("1 - Criar (cria a lista vazia)\n"); printf("2 - Ler(x), X>0\n"); printf("3 - Listar\n"); printf("4 - Inserir inicio\n"); printf("5 - Soma dos valores\n"); printf("6 - Nº elementos >= k\n"); printf("7 - remover elemento\n"); printf("8- remover iguas a k\n"); printf("0 - Sair\n");

scanf("%d%*c",&opcao);

switch (opcao){ case 1: p =Criar(); break; case 2: printf("Valor"); scanf("%d", &valor); p = InserirInicio(p, valor); break; case 3: ListarRec(p); break; case 5: soma = somaValores(p); printf("Soma-->%d\n",soma); break; case 6: printf("introduza o elemento:"); scanf("%d", &ele); num = numElementos(p,ele); printf("existem %d elementos >= que %d",num,ele); break; case 7: printf("Introduza o elemento a remover"); scanf("%d",&elemRemov); RemoverRec(p,elemRemov); break;

case 8: printf("Introduza o elemento "); scanf("%d",&elemR); removerTodos(p,elemR);

break;

}

if(opcao < 0 || opcao > 8) printf("\n\033[31mA opcção seleccionada não é válida. Insira uma opcção válida:\033[37m\n\n");

}while((opcao < 0 || opcao > 8) || opcao !=0);

}

struct Nodo
{
int elemento; struct Nodo *nseg;

};

typedef struct Nodo *PNodo;

PNodo Criar()
{
PNodo l;

l = NULL;

return (l);
}

PNodo CriarNodo(int x)
{
PNodo p;

p = (PNodo) malloc (sizeof(struct Nodo));

if(p == NULL) return (NULL);

p -> elemento = x; p -> nseg = NULL;

return (p);
}

PNodo InserirInicio (PNodo l, int x)
{
PNodo p;

p = CriarNodo(x); if(p == NULL) return (l);

p -> nseg = l;

l = p;

return (l);
}

void LibertarNodo(PNodo p)
{
free(p); p = NULL;
}

int Vazia (PNodo l)

Relacionados

  • listas ligadas
    1154 palavras | 5 páginas
  • lISTA LIGADA
    337 palavras | 2 páginas
  • Lista ligada
    605 palavras | 3 páginas
  • Lista ligada
    571 palavras | 3 páginas
  • Listas ligadas
    1699 palavras | 7 páginas
  • relatorio2 listas ligadas
    316 palavras | 2 páginas
  • Programa lista ligada- estrutura de dados
    332 palavras | 2 páginas
  • Técnico Infomatico
    962 palavras | 4 páginas
  • Alocaçao dinamica
    1984 palavras | 8 páginas
  • Estrutura de dados
    596 palavras | 3 páginas