Advertisement
luchoox095

Listas :D

Nov 3rd, 2015
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.93 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdio.h>
  3.  
  4. struct nodo{
  5.        char vipd;
  6.        struct nodo *sig;
  7.        };
  8.  
  9. typedef struct nodo Nodo;
  10.  
  11. struct list_uc{
  12.        Nodo *acceso;
  13.        Nodo *cur;
  14.        Nodo *curaux;};
  15.  
  16.  
  17. typedef struct list_uc* ulist_of_char;
  18.  
  19.  
  20. void create(ulist_of_char lista){
  21.      (*lista).acceso = NULL;
  22.      (*lista).cur = NULL;
  23.      (*lista).curaux = NULL;
  24.      }
  25.  
  26. void insert(ulist_of_char lista){
  27.      Nodo *nuevo = (Nodo*)malloc(sizeof(Nodo));
  28.      if((*lista).acceso == (*lista).cur){
  29.                         (*lista).acceso = nuevo;
  30.                         (*nuevo).sig = (*lista).cur;
  31.                         (*lista).cur = nuevo;
  32.                         (*lista).curaux = nuevo;
  33.                         }
  34.      else{
  35.                         (*(*lista).curaux).sig = nuevo;
  36.                         (*nuevo).sig = (*lista).cur;
  37.                         (*lista).cur = nuevo;
  38.           }
  39.      }
  40. void suppress(ulist_of_char lista){
  41.      Nodo *nuevo = (*lista).cur;
  42.      if((*lista).acceso == (*lista).cur){
  43.                         (*lista).acceso = (*(*lista).cur).sig;
  44.                         (*lista).cur = (*lista).acceso;
  45.                         (*lista).curaux = (*lista).cur;
  46.                         }
  47.      else{
  48.           (*lista).curaux = (*(*lista).cur).sig;
  49.           (*lista).cur = (*(*lista).curaux).sig;
  50.           }
  51.          
  52.      free(nuevo);
  53.                        
  54.      }
  55. void forwards(ulist_of_char lista){
  56.      (*lista).curaux = (*lista).cur;
  57.      (*lista).cur = (*(*lista).cur).sig;
  58.      }
  59. void reset(ulist_of_char lista){
  60.      (*lista).cur = (*lista).acceso;
  61.      (*lista).curaux = (*lista).cur;
  62.      }
  63. char copy(ulist_of_char lista){
  64.      return (*(*lista).cur).vipd;}
  65.  
  66. int isOos(ulist_of_char lista){
  67.      return ( (*lista).cur == NULL );}
  68.  
  69. int isEmpty(ulist_of_char lista){
  70.     return ( (*lista).acceso == NULL );
  71. }
  72.  
  73. main(){
  74.        }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement