miércoles, 12 de septiembre de 2018

INSERTAR DATO EN NODO




CREACION DE LISTA SIMPLE


CREACIÓN Y ELIMINACIÓN AL FINAL


ELIMINAR DATO 





TALLER 1




TALLER 3

#include <stdio.h>
#include <stdlib.h>
#include<conio.h> 
struct nodo{
char nombre[30];
char inf;
char codigo;
struct nodo *sig;
};
main(){
int op;
do{
printf("\n   1.Crear una lista vacia");
printf("\n   2.Crear un nodo al comienzo");
printf("\n   3.Crear un nodo al final");
printf("\n   4.Crear un nodo antes de otro como referencia");
printf("\n  5.Salir \n");
scanf("%d",&op);
switch(op){
case 1:
struct nodo *v;
v=(struct nodo *) malloc (sizeof(struct nodo));
v->codigo=NULL;
v->sig=NULL;
printf("%d %d",v->codigo, v->sig);
case 2:
struct nodo *cabe;
     struct nodo *nuevo;
     struct nodo *aux;
     cabe=NULL;
     char dato;
     int cant, i=0;
     printf("\n Entrar cantidad de nodos: \n");
scanf("%d",&cant); 
     while(i<=cant){
     struct nodo *P; 
     P=(struct nodo *)malloc(sizeof(struct nodo));
     printf("Escriba un nombre: \n");
     fgets (P->nombre, 30, stdin); 
     printf ("La cadena leida es: \n %s",P->nombre);getch(); 
     P->sig=NULL;
i++; 
     while(!'\n'){ 
         struct nodo *Q; 
         Q=(struct nodo *)malloc(sizeof(struct nodo)); 
         fgets (Q->nombre, 30, stdin); 
        printf ("La cadena leida es: %s\n", Q->nombre);
getch();             
         Q->sig=P; 
         P=Q; 
     }
     }
}
}while(op!=5);
}

INSERTAR UN NODO EN UNA LISTA DOBLE ENLAZADA

#include <stdlib.h>
#include<stdio.h>
#include <string.h>

struct nodo {
char inf[30];
struct nodo *ligaizq;
struct nodo *ligader;
};
main (){
struct nodo *lista1;
struct nodo *lista2;
struct nodo *lista3;
struct nodo *lista4;

lista1=(struct nodo *) malloc (sizeof(struct nodo));
fgets(lista1->inf,30,stdin);
lista1->ligaizq=NULL;
lista1->ligader=NULL;
lista2=(struct nodo *) malloc (sizeof(struct nodo));
fgets(lista2->inf,30,stdin);
lista1->ligader=lista2;
lista2->ligaizq=lista1;
lista2->ligader=NULL;
lista3=(struct nodo *)malloc(sizeof(struct nodo));
fgets(lista3->inf,30,stdin);
lista2->ligader=lista3;
lista3->ligaizq=lista2;
lista3->ligader=NULL;
printf("Los nombres agregados inicialmente son: \n %s %s %s",lista1->inf,lista2->inf,lista3->inf);
printf("El nombre a desear es: ");
lista4=(struct nodo *)malloc(sizeof(struct nodo));
fgets(lista4->inf,30,stdin);
lista2->ligader=lista4;
lista4->ligaizq=lista3;
lista3->ligaizq=NULL;

printf("Los nombres agregados inicialmente son: \n %s %s %s %s",lista1->inf,lista2->inf,lista4->inf,lista3->inf);
}



No hay comentarios:

Publicar un comentario