Baixe o app para aproveitar ainda mais
Prévia do material em texto
#ifndef BIBI_H_INCLUDED #define BIBI_H_INCLUDED #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <locale.h> #include <math.h> typedef struct no No; struct no{ int n; No* prox; }; No *criarlista(){ return NULL; } No *criarlista2 (int num){ No* novo= (No*) malloc(sizeof(No)); novo->n=num; novo->prox=NULL; return novo; } No *criarlista3(int num){ No* novo= (No*) malloc(sizeof(No)); novo->prox=NULL; return novo; } /*int verificar(No* lista, No* p){ No* q; if(lista!=NULL){ q=lista; while(q!=NULL){ if(p==q){ return (1) ; } q=q->prox; } } return(0); } */ No *inserir(No* lista, int x){ No* novo = (No*)malloc(sizeof(No)); novo->n=x; novo->prox=lista; return novo; } No *inserir2(No* lista,int x){ No *p; if(lista!=NULL){ p=lista; while(p->prox!=NULL){ p=p->prox; } No *novo = (No*) malloc(sizeof(No)); novo->n=x; novo->prox=NULL; p->prox=novo; }else{ lista=inserir(lista,x); } return (lista); } No *inserir3(No *lista,No *p, int v){ No *n; int cont=0; n=lista; while(n!=NULL){ if(n==p){ cont=1; break; } n=n->prox; } if(lista!=NULL && cont==1){ No *novo = (No*) malloc(sizeof(No)); novo->n=v; novo->prox=p->prox; p->prox=novo; } return lista; } No *inserir3prof(No *lista,No *p, int v){ No *q; if(lista!=NULL){ while(q!=NULL){ if(q==p){ No *novo = (No*) malloc(sizeof(No)); novo->n=v; novo->prox=p->prox; p->prox=novo; return lista; } q=q->prox; } } return lista; } void exibir(No* lista){ No *p; if(lista!=NULL){ p=lista; while(p!=NULL){ printf("%i ",p->n); p=p->prox; } } } No* busca(No* lista, int k){ No* p; if(lista!=NULL){ p=lista; while(p!=NULL){ if(p->n==k)return(p); p=p->prox; } } return(NULL); } No* remover(No* lista){ No* temp; if(lista!=NULL){ temp=lista; lista=lista->prox; free(temp); } return(lista); } No* remover2(No* lista){ No* temp; No* p; if(lista!=NULL){ p=lista; while(p->prox->prox!=NULL){ p=p->prox; } temp=p->prox; p->prox=NULL; free(temp); } return(lista); } No* remover3(No* lista,int k){ No* p; No* temp; if(lista!=NULL){ p=lista; if(p->prox!=NULL){ while(p->prox!=NULL){ if(p->prox->n==k){ temp=p->prox; p->prox=temp->prox; free(temp); } p=p->prox; } }else if(p->n==k){ free(p); lista=NULL; } } return(lista); } #endif // BIBI_H_INCLUDED
Compartilhar