int main(int argc, char* argv[]){ Lista l1=vacia(), l2=vacia(); FILE *in1=fopen(*(argv+1),"r"), *in2=fopen(*(argv+2),"r"), *out=fopen(*(argv+3),"w"); char pal1[40], *pal2; while(fscanf(in1,"%s",pal1)>0){ pal2=(char*)malloc(40); strcpy(pal2,pal1); l1=cons(pal2,l1); } while(fscanf(in2,"%s",pal1)>0){ pal2=(char*)malloc(40); strcpy(pal2,pal1); l2=cons(pal2,l2); } implista(ordena(pega(l1,l2)),out); printf("%d palabras en %s.\n",numelem(pega(l1,l2)),*(argv+2)); fclose(in1); fclose(in2); fclose(out); return 0; }
void lista::modificar(int dat) { // Modifica un dato de la lista, el dato a modificar ser el accesible // por el atributo miembro E_Lista, y el nuevo valor ser el que le // pasemos por parámetro. if (!vacia()) E_Lista->datos = dat; }
void lista::borrar(void) { Nodo *p; if (!vacia()) { p = E_Lista; E_Lista=E_Lista->sig; num_elementos--; delete(p); } }
int main() { printf("vacia? %d\n", vacia()); printf("push('a');\n"); push('a'); printf("vacia? %d\n", vacia()); printf("pop(): %c\n", pop()); printf("pop(): %c\n", pop()); int i; for (i=0; i < 25; i++) { printf("push('a');\n"); push('a'); } for (i=0; i < 25; i++) printf("pop(): %c\n", pop()); }
/*FUNCION IMPRIME*/ void imprimir(posicion L) { if(vacia(L)) printf("Lista Vacia"); else{ while (L!=NULL){ printf("%d\n",L->elem); L=L->sig; } } }
int ColaEstatica::desencolar() { int dato; if (!vacia()) { dato = datos[getFrente()]; setFrente(getFrente() + 1); } return dato; }
void ColaEstatica::mostrar() { if (!vacia()) { for (size_t i = getFrente(); i < getFinal(); i++) { cout << "Valor: " << datos[i] << "\n" << "\n"; } } else { cout << "La cola se encuentra vacia." << "\n" << "\n"; } }
void sacar(int c[]) { /* Si pri y ult estan en la misma posicion, entonces solo hay un elemento en la * cola */ if (pri == ult) { pri = ult = -1; return; } /* Si hay mas de un elemento. */ if (!vacia(c)) pri = (pri+1) % MAX; }
/*FUNCION LOCALIZA*/ posicion localiza(tipo_elem x, nodo *L){ if(vacia(L)){ return 0; } else{ while (L!=NULL && L->elem!=x) L=L->sig; if (L==NULL) return NULL; else return L; } }
void Cola::agregar(int e) { Nodo *p = new Nodo(e, NULL); if(vacia()) { mPrimero = p; mUltimo = mPrimero; return; } mUltimo->link = p; mUltimo = p; }
int main(){ Lista l1=cons('7',cons('8',cons('9',cons('a',cons('b',cons('c',vacia())))))); Lista l2=cons('1',cons('2',cons('3',cons('4',cons('5',cons('6',vacia())))))); printf("La lista l1 tiene %d elementos.\n",numelem(l1)); puts("Los elementos de la lista l1 son: \n"); implista(l1); puts("------------------------"); printf("La lista [l1|l2] tiene %d elementos.\n",numelem(pega(l1,l2))); puts("Los elementos de la lista [l1|l2] invertida son:\n"); implista(invierte(pega(l1,l2))); printf("Esta el num 3 en la lista 2?: "); estaen('3',l2)?puts("Si."):puts("No."); printf("Esta el num 9 en la lista 2?: "); estaen('9',l2)?puts("Si."):puts("No."); puts("------------------------"); printf("Lista ordenada que resulta de pegar l1 y l2 ( [l1|l2] ) es: \n"); implista(ordena(pega(l1,l2))); return 0; }
int Cola::extraer() { if(vacia()) { return int(); } Nodo *p = mPrimero; int e = mPrimero->dato; mPrimero = mPrimero->link; delete p; return e; }
void pruebasVacia(){ tablero t; iniciar(t,TAMANIOTABLERO); //Ahora vamos a asignarle un valor cualquiera a una casilla del tablero t.m[2][2]=4; //Para hacer la comprobación del módulo esperaremos que el resultado dado sea false al //checkear la casilla if(vacia(t,2,2)==false){ cout<<"El módulo funciona de manera correcta"<<endl; } else{ cout<<"El módulo para comprobar si la casilla está vacía no funciona"<<endl; } }
//FUNCION IMPRIME void imprime (Nodo * L) { Nodo*p; if(!vacia(L)) { p=L; while (p->sig!=NULL){ printf("%d\n",p->sig->elem); p=p->sig; } } else printf("Lista Vacia"); }
lista::~lista() { // Destructor de la clase lista. Libera la memoria asignada por los // nodos de la lista. Esto sólo habrá que hacerlo mientras la lista no // esté vacía. while (!vacia()) { Nodo *p; p = E_Lista; E_Lista = E_Lista->sig; delete (p); num_elementos--; } }
void insertar(int c[], int e) { if (vacia(c)) { pri = (pri+1) % MAX; ult = (ult+1) % MAX; c[pri] = e; return; } if (llena(c)) { puts("ERROR en insertar: Cola llena"); return; } /* Si no esta vacia ni llena, entoces hay espacio para insertar. */ if ((ult = (ult+1) % MAX) != pri) c[ult] = e; }
void Pila_max::poner(int valor) { elemento nuevo; nuevo.ele = valor; if (vacia()) { nuevo.maximo = valor; } else { elemento anterior = tope(); nuevo.maximo = (valor > anterior.maximo) ? valor : anterior.maximo; } datos.add(nuevo); }
void atender_1 (struct nodo **p,int *s) { struct nodo *q,*r; int vacia (struct nodo **p); if (vacia (p)) { printf ("no existen objetos para atender\n"); *s = '#'; } else { q = (*p)->sig; r = q->sig; *s = r->info; q->sig = r->sig; if (q == q->sig) *p = q; free (r); } }
void lista::insertarfin(int dat) { // Inserta un nuevo elemento en la lista, la inserción se realiza al // principio de la lista. Nodo *p; p = new Nodo; // Crea un nuevo nodo. if(p==NULL) exit(1); if(vacia()) { p->datos = dat; //p->sig = E_Lista; E_Lista = p; F_Lista = p; } else{ p->datos = dat; F_Lista->sig = p; F_Lista = p; } num_elementos++; // Incrementa el número de elementos }
int main (){ tipo_elem x; posicion E; posicion pun; int n, i,opc; inicializa (&E); do{ ("sys"); printf ("...........Menu............\n"); printf ("1-Inserta.....\n"); printf ("2-Suprime.....\n"); printf ("3-Localiza....\n"); printf ("4-Imprime.....\n"); printf ("5-Vacia.......\n"); printf ("6-Anula.......\n"); printf ("7-Salir.......\n"); printf ("Elige una opcion:....\n"); scanf ("%d", &opc); switch(opc){ case 1: printf ("\nDame numero a insertar.....\n"); scanf("%d",& x); inserta(x,(&E.cont+1),&E); break; case 2: printf ("\nDame numero a suprimir.....\n"); scanf ("%d",& x); suprimir(localiza(x,E),&E); break; case 3: printf ("\nDame numero a localizar.....\n"); scanf ("%d",& x); pun=localiza(x,E); if(pun==NULL) printf("Numero no encontrado"); else printf("%p\n",pun); getch(); break; case 4: imprimir(E); getch(); break; case 5: if(vacia(E)) printf("SI"); else printf("NO"); getch(); break; case 6: anula(&E); printf("La lista fue anulada"); getch(); break; default: printf("Opcion No Valida"); } } while(opc!=7); return 0; }
bool lista::borrar () { if(vacia()) return false; for(int i=pi; i<ocupacion-1;i++) elemento[i].Clonar(elemento[i+1]); ocupacion--; }
int main (){ tipo_elem x; struct Nodo * pun; struct encabezado * E; int n, i,opc; inicializa (&E); do{ clrscr(); printf ("...........Menu............\n"); printf ("1-Inserta.....\n"); printf ("2-Suprime.....\n"); printf ("3-Localiza....\n"); printf ("4-Imprime.....\n"); printf ("5-Vacia.......\n"); printf ("6-Anula.......\n"); printf ("7-Salir.......\n"); printf ("Elige una opcion:....\n"); scanf ("%d", &opc); switch(opc){ case 1: printf ("\nDame numero a insertar.....\n"); scanf("%d",& x); inserta(x,E); break; case 2: printf ("\nDame numero a suprimir.....\n"); scanf ("%d",& x); suprimir(localiza(x,E)); break; case 3: printf ("\nDame numero a localizar.....\n"); scanf ("%d",& x); pun=localiza(x,E); if(pun==NULL) printf("Numero no encontrado"); else printf("%p\n",pun); getch(); break; case 4: clrscr(); imprime(E); getch(); break; case 5: if(vacia(E)) printf("SI"); else printf("NO"); getch(); break; case 6: anula(E); printf("La lista fue anulada"); getch(); break; } } while(opc!=7); getch(); return 0; }
main(){ Lista L; Nodo p; inicializa(&L); int opc, opc2, pos; char nombre[25]; do{ printf(" ---------Video Centro--------- \n Selecciona Una Opcion: \n\n"); system ("color a"); printf("\t\n\n1.-Agregar Pelicula \n\n2.-Eliminar Pelicula \n\n3.-Buscar Pelicula \n\n4.-Mostrar Pelicula\n\n5.-Salir De El Programa\n\n"); scanf("%i", &opc); switch (opc){ case 1: do{ printf(" \n Agregar \n"); printf("\n1.-Agregar Pelicula\n2.-Regresar\n\n"); scanf("%d", &opc2); switch(opc2){ case 1: printf("\nNombre de la pelicula: \n"); fflush(stdin); gets(nombre); insertapeli(&L, nombre); printf("\n\nLa pelicula a sido agregada...\n"); system("pause"); break; case 2: break; default: printf("\nOpcion Incorrecta!!!...\n\n"); system("pause"); break; } }while(opc2!=2); break; case 2: if(vacia(L)==-1){ printf("\nNo hay Peliculas...\n\n"); system("pause"); } else{ char peli[30]; printf("\n ---- Menu Eliminar ---- \n"); printf("\n1.-Eliminar Pelicula\n2.-Eliminar Todas las Peliculas\n\n"); scanf("%d", &opc2); switch(opc2){ case 1: printf("\nPelicula...\n"); fflush(stdin); gets(nombre); eliminarpelicula(&L,nombre); break; case 2: eliminartodos(&L); break; default: break; case 3: printf("Opcion Incorrecta!!\n\n"); system("pause"); break; } } break; case 3: printf(" \n -----Buscador---- \n"); printf("Pelicula a Buscar..."); fflush(stdin); gets(nombre); *buscar(&L, nombre); system("pause"); break; case 4: if(vacia(L)==-1){ printf("\n No hay peliculas!!\n\n"); system("pause"); } else { int opc3; printf("\n ----Mostrar Peliculas----\n" ); mostrarpelicula(&L); do{ printf("\n\nPresiona 2 Para Regresar..."); scanf("%d", &opc3); }while(opc3!=2); } break; case 5: printf("Fin de el Programa...\n\n"); system("pause"); break; default: printf("Opcion incorrecta intenta de nuevo!!!\n\n"); system("pause"); break; } } while(opc!=5); getch(); return 0; }
void lista::resto() { // Si la lista no está vacía adelanta el puntero de la lista. if (!vacia()) E_Lista = E_Lista->sig; }