Tad de lista em c - com deslocamento de elementos

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (430 palavras )
  • Download(s) : 0
  • Publicado : 28 de outubro de 2011
Ler documento completo
Amostra do texto
MAIN

#include
#include
#include "ListaEncadeada.h"
main()
{
FILE *fp;
fp = fopen("Lista1.txt","w");
Lista *l = inicializa(); /* inicia lista vazia */

l =insere(l, 10);
l = insere(l, 6);
l = insere(l, -38);
l = insere(l, 49);
l = insere(l, 0);
l = insere(l, 9);
l = insere(l, 25);
l = insere(l, -2);
l = insere(l,7);
l = insere(l, -23);
l = insere(l, -5);
l = insere(l, 12);
l = insere(l, 5);
printf ("Lista 1: ");
imprime(l);
printf ("\n\nLista 1 (Com oprimeiro elemento deslocado!)");
deslocar(l);

fclose(fp);
system("PAUSE");
}

BIBLIOTECA.H

typedef struct lista Lista;

/* função de inicialização: retorna uma lista vazia */Lista* inicializa();

/* inserção no início: retorna a lista atualizada */
Lista* insere(Lista *l, int i);

/* função imprime: imprime valores dos elementos */
void imprime(Lista *l);

/*função libera: libera a memória ocupada pela lista */
void libera(Lista *l);

void deslocar(Lista *l);

void inserirNoFim(Lista *l);

void inserirNoFim2(Lista *l);

void eliminar(Lista *l);Lista* recursive(Lista *l);

FUNÇÔES

#include
#include
#include "ListaEncadeada.h"

struct lista
{
int info;
struct lista* prox;
};

Lista* inicializa()
{
return NULL;}

Lista* insere(Lista *l, int i)
{
Lista *novo = (Lista*) malloc(sizeof(Lista));
novo->info = i;
novo->prox = l;
return novo;
}

void imprime(Lista *l)
{
Lista *p;printf ("\n");
for(p = l; p != NULL; p = p->prox)
{
printf("%d ", p->info);
}

}

Lista* recursive(Lista *l)
{
Lista *new_head = NULL;
Lista*p;
while(p != NULL)
{
Lista *tmp = p->prox;
p->prox = new_head;
new_head = p;
p = tmp;
}
return new_head;

}

void deslocar(Lista...
tracking img