SlideShare ist ein Scribd-Unternehmen logo
1 von 8
PROGRAMA EN C++ SOBRE
LISTA SIMPLE ENLAZADA.
#include<iostream.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<string.h>

    struct lista
    {
    int num;
    struct lista *sig;
    };
    typedef struct lista nodo;

    void   inicio();
    void   final();
    void   mostrar();
    void   del();
    void   antes();
    void   despues();

    nodo *cab=NULL;
    nodo *ult=NULL;

    int main()
{
    int opc=0;
    while(opc!=7)
    {
  clrscr();
    printf("nMENUn1.- ingresar al inicion2.- ingresar al
finaln3.- insertar antesn4.- insertar despuesn5.- imprimirn6.-
eliminarn7.- salirningrese su opcion: ");
    scanf("%d",&opc);
switch(opc)
      {
      case 1:
      inicio();
      break;
      case 2:
      final();
      break;
      case 3:
      antes();
      break;
      case 4:
      despues();
      break;
      case 5:
      mostrar();
      break;
      case 6:
      del();
      break;
      }

     }
}

     void inicio()
     {
     nodo *nuevo;
     char resp='s';
     while(resp!='n')
     {
     nuevo=((nodo*)malloc(sizeof(nodo)));
     printf("ningrese el nuevo numero: ");
     scanf("%d",&nuevo->num);
     if(cab==NULL)
     {
     cab=nuevo;
     nuevo->sig=cab;
     ult=cab;
     }
else
{
nuevo->sig=cab;
cab=nuevo;
ult->sig=cab;
}
printf("ndesea agregar otro numero? s/n: ");
fflush(stdin);
scanf("%c",&resp);
}
}

void final()
{
nodo *nuevo;
char resp='s';
while(resp!='n')
{
nuevo=((nodo*)malloc(sizeof(nodo)));
printf("ningrese el nuevo numero: ");
scanf("%d",&nuevo->num);
if(cab==NULL)
{
cab=nuevo;
nuevo->sig=cab;
ult=cab;
}
else
{
ult->sig=nuevo;
ult=nuevo;
ult->sig=cab;
}
printf("ndesea agregar otro numero? s/n: ");
fflush(stdin);
scanf("%c",&resp);
}
}
void mostrar()
  {
  nodo *ptr;
  int valido=0;
  ptr=cab;
  while(valido!=1)
  {
  if(ptr==ult)
  {
  valido=1;
  }
  printf("%d",ptr->num);
  ptr=ptr->sig;
  }
  getch();
  }

 void del()
 {
 nodo *ptr;
 nodo *pkr;
 nodo *aux=NULL;
 int num, y=0, valido=0, vali2=0, vali3=0;
 ptr=cab;
 pkr=cab;
 printf("ningrese el numero a borrar: ");
 scanf("%d",&num);
 while(valido!=1)
 {
 if(ptr==ult)
 {
 valido=1;
 }
 if(num==ptr->num)
 {
 aux=ptr;
 y=1;
 }
if((ptr==cab)&&(y==1))
{
cab=ptr->sig;
ult->sig=cab;
y=0;
}
else if((ptr==ult)&&(y==1))
{
while(vali2!=1)
{
if(pkr==ult)
{
vali2=1;
}
if(pkr->sig==aux)
{
ult=pkr;
ult->sig=cab;
y=0;
}
pkr=pkr->sig;
}
}
else if(y==1)
{
while(vali3!=1)
{
if(pkr==ult)
{
vali3=1;
}
if(pkr->sig==aux)
{
pkr->sig=aux->sig;
y=0;
}
pkr=pkr->sig;
}
}
ptr=ptr->sig;
}
      }

      void antes()
      {
      nodo *nuevo, *ptr, *pkr, *aux;
      int num, y=0, valido=0;
      char resp='s';
      ptr=cab;
      pkr=cab;
      while(resp!='n')
      {
      nuevo=((nodo*)malloc(sizeof(nodo)));
      printf("ningrese el nuevo numero: ");
      scanf("%d",&nuevo->num);
      printf("nantes de quien quiere ingresar? INGRESE EL NUMERO:
");
      scanf("%d",&num);
      while(valido!=1)
      {
      if(ptr==ult)
      {
      valido=1;
      }
      if(num==ptr->num)
      {
      aux=ptr;
      y=1;
      }
      while(y==1)
      {
      if(pkr->sig==aux)
      {
      pkr->sig=nuevo;
      nuevo->sig=aux;
      y=0;
      }
      pkr=pkr->sig;
      }
      ptr=ptr->sig;
}
      printf("ndesea agregar otro numero? s/n: ");
      fflush(stdin);
      scanf("%c",&resp);
      }

      }

      void despues()
      {
      nodo *ptr, *nuevo;
      ptr=cab;
      char resp='s';
      int num, valido=0;
      while(resp!='n')
      {
      nuevo=((nodo*)malloc(sizeof(nodo)));
      printf("ningrese el nuevo numero: ");
      scanf("%d",&nuevo->num);
      printf("ndespues de quien quiere ingresar? INGRESE EL NUMERO:
");
      scanf("%d",&num);
      while(valido!=1)
      {
      if(ptr==ult)
      {
      valido=1;
      }
      if(num==ptr->num)
      {
      nuevo->sig=ptr->sig;
      ptr->sig=nuevo;
      }
      ptr=ptr->sig;
      }
      printf("ndesea agregar otro numero? s/n: ");
      fflush(stdin);
      scanf("%c",&resp);
      }
      }

Weitere ähnliche Inhalte

Was ist angesagt?

Deteccion de Ciclos en c
Deteccion de Ciclos en cDeteccion de Ciclos en c
Deteccion de Ciclos en cAbraham
 
Ejercicios de programacion en c++
Ejercicios de programacion en c++Ejercicios de programacion en c++
Ejercicios de programacion en c++Tony Pesantez
 
Factura en borland c++
Factura en borland c++Factura en borland c++
Factura en borland c++Luis Coba
 
Deber de programación
Deber de programación  Deber de programación
Deber de programación legnasilvana
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bFRESH221 C.R
 
Suma y multiplica dos numeros decimales
Suma y multiplica dos numeros decimalesSuma y multiplica dos numeros decimales
Suma y multiplica dos numeros decimaleslumarmaiella
 
Unidad2 programas while , do while y for
Unidad2 programas while , do while  y forUnidad2 programas while , do while  y for
Unidad2 programas while , do while y forMiguel Angel Peña
 
Cajero en C++
Cajero en C++Cajero en C++
Cajero en C++IngridBs
 
Trabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje cTrabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje coswnes92
 
Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++JoseGCordero
 
PROBLEMAS DE PROGRAMACION 3
PROBLEMAS DE PROGRAMACION 3PROBLEMAS DE PROGRAMACION 3
PROBLEMAS DE PROGRAMACION 3Jordan Puente
 

Was ist angesagt? (19)

Algoritmos en c++
Algoritmos en c++Algoritmos en c++
Algoritmos en c++
 
Andres
AndresAndres
Andres
 
Funciones Clase1
Funciones Clase1Funciones Clase1
Funciones Clase1
 
Deteccion de Ciclos en c
Deteccion de Ciclos en cDeteccion de Ciclos en c
Deteccion de Ciclos en c
 
Ejercicios de programacion en c++
Ejercicios de programacion en c++Ejercicios de programacion en c++
Ejercicios de programacion en c++
 
Practicas de programacion 11 20
Practicas de programacion 11 20Practicas de programacion 11 20
Practicas de programacion 11 20
 
Factura en borland c++
Factura en borland c++Factura en borland c++
Factura en borland c++
 
Deber de programación
Deber de programación  Deber de programación
Deber de programación
 
Include
IncludeInclude
Include
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2b
 
Suma y multiplica dos numeros decimales
Suma y multiplica dos numeros decimalesSuma y multiplica dos numeros decimales
Suma y multiplica dos numeros decimales
 
Unidad2 programas while , do while y for
Unidad2 programas while , do while  y forUnidad2 programas while , do while  y for
Unidad2 programas while , do while y for
 
Practica de programacion 21 28
Practica de programacion 21 28Practica de programacion 21 28
Practica de programacion 21 28
 
Cajero en C++
Cajero en C++Cajero en C++
Cajero en C++
 
Trabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje cTrabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje c
 
Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++
 
Resultado de una raiz
Resultado de una raizResultado de una raiz
Resultado de una raiz
 
PROBLEMAS DE PROGRAMACION 3
PROBLEMAS DE PROGRAMACION 3PROBLEMAS DE PROGRAMACION 3
PROBLEMAS DE PROGRAMACION 3
 

Ähnlich wie Programa en c de listas

Ähnlich wie Programa en c de listas (20)

PROBLEMAS DE POGRAMACION 1
PROBLEMAS DE POGRAMACION 1PROBLEMAS DE POGRAMACION 1
PROBLEMAS DE POGRAMACION 1
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
 
Robin riberoprograma2
Robin riberoprograma2Robin riberoprograma2
Robin riberoprograma2
 
Andres quintal.doc
Andres quintal.docAndres quintal.doc
Andres quintal.doc
 
Ejercicios de programacionc++
Ejercicios de programacionc++Ejercicios de programacionc++
Ejercicios de programacionc++
 
algoritmos y Programacion
algoritmos y Programacionalgoritmos y Programacion
algoritmos y Programacion
 
Practicas c++
Practicas c++Practicas c++
Practicas c++
 
Practicas c++
Practicas c++Practicas c++
Practicas c++
 
Practicas segundo parcial de programacion avanzada
Practicas segundo parcial de programacion avanzadaPracticas segundo parcial de programacion avanzada
Practicas segundo parcial de programacion avanzada
 
Laboratorio1 entrada-salida de datos / Lenguance C
Laboratorio1   entrada-salida de datos / Lenguance CLaboratorio1   entrada-salida de datos / Lenguance C
Laboratorio1 entrada-salida de datos / Lenguance C
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.
 
Informe minishell
Informe minishellInforme minishell
Informe minishell
 
programas varios de visual
programas varios de visualprogramas varios de visual
programas varios de visual
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
Carpeta programacion i2
Carpeta programacion i2Carpeta programacion i2
Carpeta programacion i2
 
Tipos de Ordenamiento en C
Tipos de Ordenamiento en CTipos de Ordenamiento en C
Tipos de Ordenamiento en C
 
JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++JUEGO CONCENTRECE PARA ENTORNO DEV C++
JUEGO CONCENTRECE PARA ENTORNO DEV C++
 
Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 

Kürzlich hochgeladen

tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 

Kürzlich hochgeladen (20)

tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 

Programa en c de listas

  • 1. PROGRAMA EN C++ SOBRE LISTA SIMPLE ENLAZADA.
  • 2. #include<iostream.h> #include<conio.h> #include<stdlib.h> #include<string.h> struct lista { int num; struct lista *sig; }; typedef struct lista nodo; void inicio(); void final(); void mostrar(); void del(); void antes(); void despues(); nodo *cab=NULL; nodo *ult=NULL; int main() { int opc=0; while(opc!=7) { clrscr(); printf("nMENUn1.- ingresar al inicion2.- ingresar al finaln3.- insertar antesn4.- insertar despuesn5.- imprimirn6.- eliminarn7.- salirningrese su opcion: "); scanf("%d",&opc);
  • 3. switch(opc) { case 1: inicio(); break; case 2: final(); break; case 3: antes(); break; case 4: despues(); break; case 5: mostrar(); break; case 6: del(); break; } } } void inicio() { nodo *nuevo; char resp='s'; while(resp!='n') { nuevo=((nodo*)malloc(sizeof(nodo))); printf("ningrese el nuevo numero: "); scanf("%d",&nuevo->num); if(cab==NULL) { cab=nuevo; nuevo->sig=cab; ult=cab; }
  • 4. else { nuevo->sig=cab; cab=nuevo; ult->sig=cab; } printf("ndesea agregar otro numero? s/n: "); fflush(stdin); scanf("%c",&resp); } } void final() { nodo *nuevo; char resp='s'; while(resp!='n') { nuevo=((nodo*)malloc(sizeof(nodo))); printf("ningrese el nuevo numero: "); scanf("%d",&nuevo->num); if(cab==NULL) { cab=nuevo; nuevo->sig=cab; ult=cab; } else { ult->sig=nuevo; ult=nuevo; ult->sig=cab; } printf("ndesea agregar otro numero? s/n: "); fflush(stdin); scanf("%c",&resp); } }
  • 5. void mostrar() { nodo *ptr; int valido=0; ptr=cab; while(valido!=1) { if(ptr==ult) { valido=1; } printf("%d",ptr->num); ptr=ptr->sig; } getch(); } void del() { nodo *ptr; nodo *pkr; nodo *aux=NULL; int num, y=0, valido=0, vali2=0, vali3=0; ptr=cab; pkr=cab; printf("ningrese el numero a borrar: "); scanf("%d",&num); while(valido!=1) { if(ptr==ult) { valido=1; } if(num==ptr->num) { aux=ptr; y=1; }
  • 7. } } void antes() { nodo *nuevo, *ptr, *pkr, *aux; int num, y=0, valido=0; char resp='s'; ptr=cab; pkr=cab; while(resp!='n') { nuevo=((nodo*)malloc(sizeof(nodo))); printf("ningrese el nuevo numero: "); scanf("%d",&nuevo->num); printf("nantes de quien quiere ingresar? INGRESE EL NUMERO: "); scanf("%d",&num); while(valido!=1) { if(ptr==ult) { valido=1; } if(num==ptr->num) { aux=ptr; y=1; } while(y==1) { if(pkr->sig==aux) { pkr->sig=nuevo; nuevo->sig=aux; y=0; } pkr=pkr->sig; } ptr=ptr->sig;
  • 8. } printf("ndesea agregar otro numero? s/n: "); fflush(stdin); scanf("%c",&resp); } } void despues() { nodo *ptr, *nuevo; ptr=cab; char resp='s'; int num, valido=0; while(resp!='n') { nuevo=((nodo*)malloc(sizeof(nodo))); printf("ningrese el nuevo numero: "); scanf("%d",&nuevo->num); printf("ndespues de quien quiere ingresar? INGRESE EL NUMERO: "); scanf("%d",&num); while(valido!=1) { if(ptr==ult) { valido=1; } if(num==ptr->num) { nuevo->sig=ptr->sig; ptr->sig=nuevo; } ptr=ptr->sig; } printf("ndesea agregar otro numero? s/n: "); fflush(stdin); scanf("%c",&resp); } }