Ir al contenido principal

Destacado

Desarrollo web Bootcamp

  Introducción a la Programación La programación es el proceso de diseñar y escribir instrucciones que las computadoras entienden para realizar tareas específicas. Estas instrucciones se conocen como código , y permiten a los desarrolladores crear aplicaciones, sitios web, juegos y mucho más. Lenguajes de Programación Comunes en el Desarrollo Web En el desarrollo web, los lenguajes más utilizados incluyen: HTML : Define la estructura del contenido en una página web. CSS : Estiliza y da diseño a los elementos de HTML. JavaScript : Agrega interactividad y funcionalidades dinámicas a las páginas web.      PHP y Python : Son lenguajes de servidor para manejar la lógica y los datos. SQL : Sirve para gestionar bases de datos. Sintaxis Básica La sintaxis es un conjunto de reglas que determina cómo escribir código en un lenguaje específico. Es fundamental para que el programa funcione correctamente. Por ejemplo: javascript let mensaje = "¡Hola Mundo!" ; console . log (mens...

LISTAS en c++

LISTAS EN C ++



#include<iostream>

typedef struct datos ;
  typedef datos elemento ;

 using namespace std;

struct datos{
       int dato;
        elemento *siguiente;
     
     
       };

     
void error(void){
     cout<<"error: insuficiente espacio de memoria"<<endl;
     exit(1);  
   
   
     }

elemento *nuevo(){
         elemento *q = (elemento *)malloc(sizeof(elemento));
         if(!q){
                error();
         }
         return(q);
         }
          void error(void);
      void anadir(elemento **, int);
      void borrar(elemento **, int);
      elemento *buscar(elemento *,int);
      void visualizar(elemento *);
   
     
     




int main(){
 
      elemento *cabecera=NULL ;

    elemento *q;
    int dato,k=10;
 
 
 
   char opcion;
    bool salir =false;

   while (! salir) {
cout<<"***LISTAS EN  C++**"<<endl;
    cout<<"A)INGRESAR UN ELEMENTO"<<endl;
    cout<<"B)BORRAR UN ELEMENTO"<<endl;
    cout<<"C)BUSCAR ELEMENTO"<<endl;
    cout<<"D)MOSTRAR ELEMENTOS"<<endl;
        cout<<"z)Salir"<<endl;
cout<<"Elija una opcion"<<endl;
    cin>>opcion;
if(opcion == 'z' ||  opcion == 'Z'  ){
               salir = true;        
     }else{
 
    switch(opcion){
       case 'a':          
       case 'A':
       cout<<"ingresar dato: "; cin>>dato;
       anadir(&cabecera,dato);
         
         
    break;
 
        case 'b':          
       case 'B':
       cout<<"borrar dato: "; cin>>dato;
       borrar(&cabecera,dato);
     
                 
    break;
 
        case 'c':          
       case 'C':
          cout<<"buscar dato: "; cin>>dato;
            q=buscar(cabecera,dato);
            if(q==NULL) {
              cout<<"Lista vacia"<<endl;
           
              }
         
            if(q!=NULL)
            {
             q->dato+=k;
             cout<<"Elemento encontrado";
                           
                 }
              while(k!=q){
             
                     cout<<"Elemento no encontrado"<<endl;
                   }
    break;
 
        case 'd':          
       case 'D':
             cout << "\n\n MOSTRANDO LISTA\n\n";
                 if(cabecera!=NULL){
                  visualizar(cabecera);
                 }else{
                    cout<<"\n\n\tLista vacia..!"<<endl;
                    }
         
    break;
                   
  default:
      cout << "Opcion no aceptada"<< endl;
       
               }
               system("PAUSE"); system("cls");
    }
 
}
 system("PAUSE");
}
 
 

 
 
void anadir(elemento **cab,int dato){
      elemento *cabecera=*cab;
      elemento *actual=cabecera, *anterior=cabecera,*q;
     
       if(*cab==NULL){
         cabecera =nuevo();
         cabecera->dato=dato;
         cabecera->siguiente=NULL;
          *cab=cabecera;
          return;          
                   
                      }
                   
   while(actual!=NULL&&dato>actual->dato){
                                       
                                       
           anterior=actual;
           actual=actual->siguiente;
                                       
                                                 
                                         }  
          //1) insertar al principio de la lista
          //2) insertar despues d anterior                                            
       q=nuevo();
       if(anterior==actual){
              q->dato=dato;
              q->siguiente=cabecera;
              cabecera=q;            
                         
                         
                            }
                         
     else{
          q->dato=dato;
          q->siguiente=actual;
          anterior->siguiente=q;
       
       
          }                    
       *cab =cabecera;
       }  
     
     
     void borrar(elemento **cab,int dato){
       
          elemento *cabecera=*cab;
          elemento *actual=cabecera,*anterior=cabecera;
          if(!cabecera){
              cout<<"lista vacia"<<endl;
              return;        
                            }
          while(actual!=NULL&&dato!=actual->dato){
             anterior=actual;
             actual=actual->siguiente;                                  
                                                 }
                                               
         if(actual==NULL)return;
          if(anterior==actual) {            
                   cabecera=cabecera->siguiente;
                             }      
          else{
               anterior->siguiente=actual->siguiente;
             
             
               }
               free(actual);
               *cab=cabecera;                                                
       
          }
       
        elemento *buscar(elemento *cabecera,int dato){
                 elemento *actual=cabecera;
             
               
                 while(actual!=NULL&&dato!=actual->dato){
                       actual=actual->siguiente;
                     
                         }
                   return(actual);
         
               
                 }
               
        void visualizar(elemento *cabecera){
             elemento *actual=cabecera;
             if(actual==NULL){
                 cout<<"lista vacia"<<endl;        
                   }else{
              while(actual!=NULL){
                  cout<<"\n"<<actual->dato<<endl;            
                  actual=actual->siguiente;
                               
                               
                                 }                  
                                  cout<<"\n"<<endl;
                               
                                  }
           
           
           
             }
           
Descarga Libros en c y c++ https://mega.nz/folder/ZckjDaLR#v5Bgwuv3ypM8uxOoKw90Wg

Comentarios

Entradas populares