TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Kauslinux

Por:   •  5/4/2015  •  Trabalho acadêmico  •  309 Palavras (2 Páginas)  •  308 Visualizações

Página 1 de 2

nclude <stdio.h>

#include <stdlib.h>

struct Node{

int num;

struct Node *prox;

};

typedef struct Node node;

int tam;

void inicia(node *LISTA);

int menu(void);

void opcao(node *LISTA, int op);

node *criaNo();

void insereFim(node *LISTA);

void insereInicio(node *LISTA);

void exibe(node *LISTA);

void libera(node *LISTA);

void insere (node *LISTA);

node *retiraInicio(node *LISTA);

node *retiraFim(node *LISTA);

node *retira(node *LISTA);

int main(void)

{

node *LISTA = (node *) malloc(sizeof(node));

if(!LISTA){

printf("Sem memoria disponivel!\n");

exit(1);

}else{

inicia(LISTA);

int opt;

do{

opt=menu();

opcao(LISTA,opt);

}while(opt);

free(LISTA);

return 0;

}

}

void inicia(node *LISTA)

{

LISTA->prox = NULL;

tam=0;

}

int menu(void)

{

int opt;

printf("Escolha a opcao\n");

printf("0. Sair\n");

printf("1. Zerar lista\n");

printf("2. Exibir lista\n");

printf("3. Adicionar node no inicio\n");

printf("4. Adicionar node no final\n");

printf("5. Escolher onde inserir\n");

printf("6. Retirar do inicio\n");

printf("7. Retirar do fim\n");

printf("8. Escolher de onde tirar\n");

printf("Opcao: "); scanf("%d", &opt);

return opt;

}

void opcao(node *LISTA, int op)

{

node *tmp;

switch(op){

case 0:

libera(LISTA);

break;

case 1:

libera(LISTA);

inicia(LISTA);

break;

case 2:

exibe(LISTA);

break;

case 3:

insereInicio(LISTA);

break;

case 4:

insereFim(LISTA);

break;

case 5:

insere(LISTA);

break;

case 6:

tmp= retiraInicio(LISTA);

printf("Retirado: %3d\n\n", tmp->num);

break;

case 7:

tmp= retiraFim(LISTA);

printf("Retirado: %3d\n\n", tmp->num);

break;

case 8:

tmp= retira(LISTA);

printf("Retirado: %3d\n\n", tmp->num);

break;

default:

printf("Comando invalido\n\n");

}

}

int vazia(node *LISTA)

{

if(LISTA->prox == NULL)

return 1;

else

return 0;

}

node *aloca()

{

node *novo=(node *) malloc(sizeof(node));

if(!novo){

printf("Sem memoria disponivel!\n");

exit(1);

}else{

printf("Novo elemento: "); scanf("%d", &novo->num);

...

Baixar como (para membros premium)  txt (4.8 Kb)   pdf (50.5 Kb)   docx (15.4 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com