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

Lista Circular Em C

Trabalho Escolar: Lista Circular Em C. Pesquise 861.000+ trabalhos acadêmicos

Por:   •  25/9/2014  •  1.995 Palavras (8 Páginas)  •  857 Visualizações

Página 1 de 8

#include<stdio.h>

#include<stdlib.h>

typedef struct lista{

int valor;

struct lista *prox;

}lista;

int soma(lista *l){

int soma=0;

if(l==NULL){

printf("lista vazia");

return 0;

}else{

lista *p ;//=l->prox;

soma=soma+l->valor;

if(l!=p){

soma=soma+p->valor;

return soma+soma;

}

}

}

lista* insere(lista *l){

if(l==NULL){

l=(lista*)malloc(sizeof(lista));

printf("digite um numero");

scanf("%d",&l->valor);

l->prox = l;

}else{

lista* p;

p=(lista*)malloc(sizeof(lista));

lista *aux=l;

printf("entre com valor");

scanf("%d",&p->valor);

p->prox=l;

while(aux->prox!=l){

aux=aux->prox;

}

aux->prox=p;

l=p;

}

return l;

}

int verifica(lista* l, int n){

if(l==NULL){

return 0;

}else{

lista *p=l;

do{

if(n==p->valor){

return 1;

}

p=p->prox;

}while(l!=p);

}

return 0;

}

void imprimir(lista *l){

lista *aux;

if(l==NULL)

printf("vazia");

else{

aux=l;

do{

printf("%d\n",aux->valor);

aux=aux->prox;

}while(aux!=l);

}

}

int conta_elementos(lista* l){

int aux =0;

if(l==NULL)

return 0;

else{

lista *p=l;

do{

aux++;

p=p->prox;

}while(p!=l);

}

return aux;

}

lista *remover(lista* l,int x){

lista *p=l->prox;

lista *aux=l;

if(l==NULL){

return l;

}else{

/*if(p==NULL)

{

free(aux);

l->prox=l;

return l;

}

else*/

{

while(p->prox!=l){

aux=aux->prox;

p=p->prox;

}

aux->prox=l;

free(p);

return l;

}

}

}

/*lista *ant,*p;

if(l==NULL){

printf("lista vazia");

return NULL;

}else{

ant=l;

p=l->prox;

while(p->valor!=x && p!=l){

ant=p;

...

Baixar como (para membros premium)  txt (4.4 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no TrabalhosGratuitos.com