int main () { struct nodo lista; int buscar; int valor = 1; inicializar(&lista); printf("Programa en el cual tendras que insertar numeros en lista \n"); printf("y termina insertando un -1, en el cual de la lista insertada \n"); printf("tendras que borrar un numero de ella. \n\n"); while(valor != -1){ printf("Escriba un numero \n"); scanf("%d", &valor); if(valor != -1) insertar_al_final(&lista,valor); } printf("escribe el numero a borrar de la siguiente lista\n"); imprimir_lista(&lista); printf("\n"); scanf("%d", &buscar); eliminar_nodo(&lista,buscar); imprimir_lista(&lista); borrar_lista(&lista); return 0; }
int main() { struct nodo cabecera; int valor_nuevo = 0; int valor_antes; int borrar; int nuevo, antes; inicializar(&cabecera); printf("Introduce los datos\nIntroduce -1 cuando finalices\n"); while(valor_nuevo != -1){ scanf("%d", &valor_nuevo); if(valor_nuevo != -1){ insertar_al_final(&cabecera, valor_nuevo); } } imprimir_lista(&cabecera); printf("\nQue numero quieres borrar?\n"); scanf("%d", &borrar); borrar_elemento(&cabecera, borrar); imprimir_lista(&cabecera); borrar_lista(&cabecera); return 0; }
int main() { struct nodo lista; int valor; int valor_antes; inicializar(&lista); printf("Programa en el cual tendras que insertar numeros en lista \n"); printf("y termina cuando insertas un -1, y aparte insertaras un numero \n"); printf("nuevo y podras insertarlo en el lugar que quieras de la lista. \n\n"); while(valor != -1){ printf("Escriba un numero \n"); scanf("%d", &valor); if(valor != -1) insertar_al_final(&lista,valor); } printf("Escriba el nuevo numero a introducir\n"); scanf("%d", &valor); printf("Despues de que numero de la lista quieres que este el numero nuevo\n"); imprimir_lista(&lista); printf("\n"); scanf("%d", &valor_antes); insertar_despues_de(&lista, valor, valor_antes); imprimir_lista(&lista); return 0; }
int main() { struct nodo lista; int valor; int valor_antes; inicializar(&lista); printf("Escriba un numero, al escribir -1 se terminará la lista\n"); while(valor != -1){ scanf("%d", &valor); if(valor != -1) insertar_al_final(&lista,valor); } printf("Escriba un numero\n"); scanf("%d", &valor); printf("escribe el valor que estara antes del valor introducido\n"); imprimir_lista(&lista); printf("\n"); scanf("%d", &valor_antes); insertar_despues_de(&lista, valor, valor_antes); imprimir_lista(&lista); borrar_lista(&lista); return 0; }
int main() { struct nodo_doble cabecera; int valor_nuevo = 0; int valor_antes; inicializar(&cabecera); printf("Introduce los datos\nIntroduce -1 cuando finalices\n"); while(valor_nuevo != -1){ scanf("%d", &valor_nuevo); if(valor_nuevo != -1){ insertar_al_final(&cabecera, valor_nuevo); } } imprimir_lista(&cabecera); printf("Dame el numero que quieres introducir\n"); scanf("%d", &valor_nuevo); printf("Despues de que numero lo quieres introducir?\n"); scanf("%d", &valor_antes); insertar_despues(&cabecera, valor_nuevo, valor_antes); imprimir_lista(&cabecera); borrar_lista(&cabecera); return 0; }
int main() { int opcion; int valor ;// ingresar struct nodo *puntero; int valor_antes; puntero = (struct nodo*)malloc(sizeof (struct nodo) *1); do { menu1(); scanf("%d",&opcion); switch(opcion) { case 1: while(valor != -1) { printf("\n ingresar los datos\n\t "); scanf("%d",&valor); insertar_al_final(puntero,valor); } break; case 2: printf("ingresa otro numero"); scanf("%d",&valor); printf("a partir de que numero lo quieres inserta (colocados en la lista)"); imprimir_lista(puntero); scanf("%d", &valor_antes); insertar_despues_de(puntero,valor, valor_antes); break; case 3: printf("\n\n impresion de la lista \n\n"); imprimir_lista(puntero); borrar_lista(puntero); break; case 4: printf("\tsalir\n\n"); break; } } while(opcion != 4); system("pause"); return 0; }
int main(){ struct nodo * lista; lista = inicializar(); agregar(lista); imprimir_lista(lista); seleccion(lista); imprimir_lista(lista); free(lista); return 0; }
int main(){ struct nodo *lista; int val; lista = inicializar(); printf("ordenamiento burbuja en listas"); while(1){ printf("ingresa un dato \n ingresa -1 si no queires mas datos"); scanf("%d",&val); if(val == -1) break; insertar_al_final(lista,val); } printf("antes de ordenar: "); imprimir_lista(lista); ordenar(lista); printf("despues de ordenado: "); imprimir_lista(lista); return 0; }
int main () { struct nodo lista; int buscar; int valor = 1; inicializar(&lista); while(valor < 10){ insertar_al_final(&lista,valor); valor++; } printf("escribe el numero a borrar de la siguiente lista\n"); imprimir_lista(&lista); printf("\n"); scanf("%d", &buscar); eliminar_nodo(&lista,buscar); imprimir_lista(&lista); borrar_lista(&lista); return 0; }
int main() { struct nodo cabecera; int valor = 0; inicializar_lista(&cabecera); printf("Introduce -1 para finalizar\n"); printf("Dame los numeros\n"); while(valor != -1){ scanf("%d", &valor); if (valor != -1){ introducir_al_final(&cabecera, valor); } } imprimir_lista(&cabecera); imprimir_el_primero(&cabecera); borrar_el_primero(&cabecera); imprimir_lista(&cabecera); }
int main(){ struct nodo *cabecera; int valor; cabecera = (struct nodo*) malloc(sizeof(struct nodo)); inicializar(cabecera); printf("ingresa los datos, pulsa -1 para dejar de ingresar datos \n"); while(1){ printf("ingrese un numero un numero: "); scanf("%d",&valor); if(valor == -1) break; insertar_al_final(cabecera,valor); } imprimir_lista(cabecera); printf("ingrese el numero a eliminar eliminar "); scanf("%d",&valor); borrar_elemento(cabecera,valor); printf("eliminado \n"); imprimir_lista(cabecera); borrar_lista(cabecera); return 0; }
int main(int argc, char *argv[]) { No *ptr_lista; int valor_insercao; int i; imprimir_cabecalho(); printf("Informe o valor que deseja inserir na cabeca da lista:\n"); scanf("%d",&valor_insercao); putchar('\n'); ptr_lista = (No*)malloc(sizeof(No)); iniciar_lista(ptr_lista); for(i = 0; i < 5; i ++) { inserir_cabeca(ptr_lista, i); } printf("Ate o presente momento, a lista possui os seguintes valores:\n"); putchar('\n'); imprimir_lista(ptr_lista); printf("Com o valor que voce informou, a lista esta da seguinte maneira:\n"); putchar('\n'); inserir_cabeca(ptr_lista,valor_insercao); imprimir_lista(ptr_lista); printf("Obrigado por utilizar o programa.\n"); putchar('\n'); free(ptr_lista); return 0; }
int main(){ struct nodo *cabecera; int valor; cabecera = (struct nodo*) malloc(sizeof(struct nodo)); inicializar(cabecera); printf("presiona -1 si quieres dejar de meter datos"); while(1){ printf("inserta un numero: "); scanf("%d",&valor); if(valor == -1) break; insertar_al_final(cabecera,valor); } imprimir_lista(cabecera); printf("dame el dato que quiereas eliminar "); scanf("%d",&valor); borrar_elemento(cabecera,valor); printf("eliminado \n"); imprimir_lista(cabecera); borrar_lista(cabecera); return 0; }
int main(){ struct nodo *cabecera; int valor,despues; cabecera = (struct nodo*) malloc(sizeof(struct nodo)); inicializar(cabecera); printf("agrega datos y con -1 para ya no agregar mas\n"); while(1){ printf("dame un numero: "); scanf("%d",&valor); if(valor == -1) break; insertar_al_final(cabecera,valor); } imprimir_lista(cabecera); printf("despues de que numero quieres agregar algo"); scanf("%d",&despues); printf("dime que dato quieres agregar despues de %d",despues); scanf("%d",&valor); insertar_despues_de(cabecera,valor,despues); imprimir_lista(cabecera); borrar_lista(cabecera); return 0; }
int main(){ struct nodo *cabecera; int dato; cabecera = (struct nodo*) malloc(sizeof(struct nodo)); inicializar(cabecera); while(1){ printf("dame un numero: "); scanf("%d",&dato); if(dato == -1) break; insertar_al_principio(cabecera,dato); } imprimir_lista(cabecera); borrar_lista(cabecera); return 0; }
int main() { int valor; struct nodo lista; inicializar(&lista); while(valor != -1){ printf("Escribe un numero\n"); scanf("%d", &valor); if (valor != -1) insertar_al_final(&lista,valor); } imprimir_lista(&lista); borrar_lista(&lista); return 0; }
int main (){ struct nodo *cabecera; int valor; cabecera = (struct nodo*) malloc(sizeof(struct nodo)); inicializar(cabecera); printf("ingresa los datos. Ingresa -1 al para dejar de ingresar datos \n"); while(1){ printf("dame un numero: "); scanf("%d",&valor); if(valor==-1) break; insertar_al_final(cabecera, valor); } imprimir_lista(cabecera); borrar_lista(cabecera); return 0; }
int main() { struct nodo_doble cabecera; int valor_nuevo = 0; inicializar(&cabecera); printf("Introduce los datos\nIntroduce -1 cuando finalices\n"); while(valor_nuevo != -1){ scanf("%d", &valor_nuevo); if(valor_nuevo != -1){ insertar_al_principio(&cabecera, valor_nuevo); } } imprimir_lista(&cabecera); borrar_lista(&cabecera); return 0; }
int main(){ struct nodo *root = (struct nodo*) malloc(sizeof(struct nodo) * 1); inicializar(root); int dato; printf("Ingreso de datos en la lista:\nCon -1 termina el ingreso de datos a la lista\n\n"); while(true){ printf("\nDato a ingresar :"); scanf("%d",&dato); if(dato != -1){ insertar_al_principio(root,dato); //imprimir_lista(root); } else{ break; } } if(dato== -1){ free(root); imprimir_lista(root); } return 0; }
/*fin de la declaracion de las funcines*/ int main(int argc, char *argv[]) { int op, numero; _nodo *lista1, *lista2; lista1 = NULL; lista2 = NULL; do{ printf("1- insertar en lista 1\n"); printf("2- insertar en lista 2\n"); printf("3- ordenar las listas\n"); printf("4- mezclar listas\n"); printf("5- Salir\n"); scanf("%d", &op); switch(op){ case 1:{ do{ printf("Introduce un numero.. Presione 0 para dejar de introducir elementos\n >"); scanf("%d",&numero); if(numero != 0) lista1 = insertar(numero, lista1); }while(numero!=0); break; } case 2:{ do{ printf("Introduce un numero.. Presione 0 para dejar de introducir elementos\n >"); scanf("%d",&numero); if(numero != 0) lista2 = insertar(numero, lista2); }while(numero!=0); break; } case 3: if(!lista_vacia(lista1) && !lista_vacia(lista2)){ ordenar_lista(lista1); ordenar_lista(lista2); printf("Lista 1\n"); imprimir_lista(lista1); printf("Lista 2\n"); imprimir_lista(lista2); }else{ printf("Error, alguna lista que se va a ordenar esta vacia\n"); } break; case 4: if(!lista_vacia(lista1) && !lista_vacia(lista2)){ printf("Lista mezclada:\n"); imprimir_lista(mezcla2(lista1, lista2)); } else{ printf("Error, alguna lista que se va a mezclar esta vacia\n"); } break; default: printf("Opcion invalida, Intente nuevamente\n"); break; } }while(op != 5); return EXIT_SUCCESS; }
int main() { lista lst = crear_lista(); nat cont_comandos = 0; bool salir = false; while (!salir) { mostrar_prompt(cont_comandos); enum_cmd_t enum_com = identificador_comando(); // procesar el comando switch (enum_com) { case cmd_fin: salir = true; imprimir_con_nl(msg_fin); break; case cmd_comentario: escribir_nueva_linea(); break; case cmd_ins_lista: { info_t info = leer_info(MAX_LARGO_PALABRA); while (es_valida_info(info)) { insertar_despues(info, final_lista(lst), lst); info = leer_info(MAX_LARGO_PALABRA); } liberar_info(info); texto_t txt = cadena_a_texto("primero"); info = crear_info(0, txt); insertar_antes(info, inicio_lista(lst), lst); imprimir_lista(lst); break; } case cmd_recorrido_lista: { if (!es_vacia_lista(lst)) { localizador loc = inicio_lista(lst); while (es_localizador_lista(loc)) { texto_t txt = info_a_texto(info_lista(loc, lst)); escribir_texto(txt); liberar_texto(txt); loc = siguiente(loc, lst); } loc = final_lista(lst); while (es_localizador_lista(loc)) { texto_t txt = info_a_texto(info_lista(loc, lst)); escribir_texto(txt); liberar_texto(txt); loc = anterior(loc, lst); } escribir_nueva_linea(); } break; } case cmd_segmentos_lista: { int clave1 = leer_int(); int clave2 = leer_int(); localizador desde = siguiente_clave(clave1, inicio_lista(lst), lst); localizador hasta = anterior_clave(clave2, final_lista(lst), lst); if (es_localizador_lista(desde) && es_localizador_lista(hasta) && precede_en_lista(desde, hasta, lst)) { lista sgm = separar_segmento(desde, hasta, lst); lista copia = segmento_lista(inicio_lista(sgm), final_lista(sgm), sgm); imprimir_lista(sgm); liberar_lista(sgm); insertar_segmento_despues(copia, final_lista(lst), lst); liberar_lista(copia); imprimir_lista(lst); } break; } case cmd_modificar_lista: { int clave1 = leer_int(); int clave2 = leer_int(); localizador loc1 = siguiente_clave(clave1, inicio_lista(lst), lst); localizador loc2 = anterior_clave(clave2, final_lista(lst), lst); if (es_localizador_lista(loc1) && es_localizador_lista(loc2)) { intercambiar(loc1, loc2, lst); imprimir_lista(lst); retroceder(loc2, lst); imprimir_lista(lst); } break; } case cmd_ordenar_lista: { nat len_lst = longitud(lst); imprimir_int(len_lst); localizador loc = inicio_lista(lst); for (nat i = 0; i < len_lst / 2 - 1; i++) loc = siguiente(loc, lst); lista primera = segmento_lista(inicio_lista(lst), loc, lst); lista segunda = segmento_lista(siguiente(loc, lst), final_lista(lst), lst); lista concat = concatenar(primera, segunda); imprimir_lista(concat); liberar_lista(concat); if (son_numeros_iguales(primera, segunda)) { imprimir_lista(primera); } if (!esta_ordenada(primera)) ordenar(primera); if (!esta_ordenada(segunda)) ordenar(segunda); lista mzc = mezcla(primera, segunda); imprimir_lista(mzc); unificar(mzc); imprimir_lista(mzc); liberar_lista(mzc); liberar_lista(primera); liberar_lista(segunda); break; } case cmd_filtrado_lista: { int clave = leer_int(); texto_t palabra = leer_palabra(MAX_LARGO_PALABRA); comp_t criterio = texto_a_comp(palabra); liberar_texto(palabra); if (pertenece(clave, lst)) { imprimir_int(cantidad(clave, lst)); } lista flt = filtrado(clave, criterio, lst); imprimir_lista(flt); liberar_lista(flt); break; } case cmd_reversa_lista: { int dato1 = leer_int(); int dato2 = leer_int(); if (esta_ordenada(lst) && pertenece(dato1, lst) && pertenece(dato2, lst) && dato1 < dato2) { lista sub = sublista(dato1, dato2, lst); imprimir_lista(sub); lista rev = reversa(sub); imprimir_lista(rev); cambiar_todos(dato1, dato2, rev); imprimir_lista(rev); liberar_lista(sub); liberar_lista(rev); } break; } case cmd_liberar_lista: { liberar_lista(lst); lst = crear_lista(); break; } default: imprimir_con_nl(msg_cmd_no_reconocido); break; } // switch texto_t resto_linea = leer_resto_linea(MAX_RESTO_LINEA); liberar_texto(resto_linea); } // while liberar_lista(lst); return 0; }