Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- struct lista{
- int valor;
- struct lista* prox;
- struct lista* ant;
- };
- typedef struct lista Lista;
- Lista* insere(Lista* lista, int val){
- Lista* novo = (Lista*) malloc(sizeof(Lista));
- novo->valor = val;
- novo->prox = lista;
- novo->ant = NULL;
- if(lista != NULL){
- lista->ant = novo;
- return novo;
- }
- }
- Lista* duplica(Lista* lista){
- Lista* p = lista;
- if(p == NULL){
- return 0;
- }else{
- Lista* novo = (Lista*) malloc(sizeof(Lista));
- novo->valor = p->valor;
- novo->prox = p->prox;
- novo->ant = p;
- p->prox = novo;
- p->prox->ant = novo;
- duplica(novo->prox);
- return p;
- }
- }
- void printavalor(Lista* lista){
- Lista* p = lista;
- while(p != NULL){
- printf("%d ", p->valor);
- p = p->prox;
- }
- return;
- }
- main(){
- Lista* lista = NULL;
- lista = insere(lista, 4);
- lista = insere(lista, 7);
- lista = insere(lista, 1);
- printf("------ VALORES -----\n");
- printavalor(lista);
- printf("\n\n\n");
- lista = duplica(lista);
- printf("-- VALORES DUPLOS --\n");
- printavalor(lista);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement