La librería xslists de xsEasyC proporciona funciones para el manejo de listas. Una Lista es una Estructura Dinámica de Datos que a diferencia de un Arreglo o Vector; puede aumentar y decrementar su tamaño; y contener elementos de Distintos Tipos.
Los Tipos posibles que permite manejar la librería son: TIPO_CADENA, TIPO_CARACTER, TIPO_ENTERO y TIPO_DOBLE.
Los Elementos de una Lista se presentan entre "[]" y cada elemento separado por ",". Los valores de TIPO_CADENA son presentados entre ""; los de TIPO_CARACTER entre ''; y los valores enteros tal cual.
A continuación se presentan las Funciones de Listas que incluye la librería en el orden sugerido de uso. Los ejemplos de Código son tomados del directorio de ejemplos de la librería.
- listaInicializar
Función para inicializar una Lista para su uso.
Esta función utiliza 1 parámetro:
Lista *lista. Este parámetro es correspondiente a una variable de Tipo Lista del cual se recibe su dirección de memoria.
Lo primero que debe de hacerse es declarar una variable de Tipo Lista e inicializarla.
El siguiente ejemplo muestra como declarar una variable de Tipo Lista e Inicializarla para su posterior uso.
Ejemplo:
// Variable para la Lista
Lista lista;
// Inicializa la Lista
Imprimir("Inicializa Lista ...");
listaInicializar(&lista);
El Ejemplo anterior primeramente define la variable lista del Tipo Lista; y posteriormente utiliza la función para Inicializarla. Es importante notar que al llamar a la función se utiliza el operador & para indicar que lo que se envía en el parámetro es la dirección de la variable.
- listaInsertar
Función para Insertar un Elemento al Final de la Lista.
Esta función utiliza 3 parámetros:
Lista *lista. Este parámetro es correspondiente a una variable de Tipo Lista del cual se recibe su dirección de memoria.
Entero tipo. Este parámetro es para indicar el Tipo de Dato que se va a insertar en la Lista. Los valores posible para este parámetro son: TIPO_CADENA, TIPO_ENTERO, TIPO_CARACTER y TIPO DOBLE.
.... Este parámetro es para indicar el dato que se va a asignar a el Valor del Elemento, el cual puede ser de los 4 posibles tipos de datos indicados en el parámetro previo.
El siguiente ejemplo muestra como insertar elementos a la Lista.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Se insertan elementos en la lista
Imprimir("Insertando Elementos a la lista ...");
CL;
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_DOBLE,23.45);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_CARACTER,'X');
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_CADENA,"C es sencillo con xsEasyC");
// Desplegar los elementos de la lista
Imprimir("Lista Inicial");
listaImprimir(lista);
CL;
El Ejemplo anterior primeramente define la variable lista del Tipo Lista y la inicializa. Posteriormente inserta 4 elementos utilizando los 4 diferentes Tipos posibles. Finalmente la Lista es impresa y en el despliegue se observan los elementos insertados.
La siguiente imagen muestra la ejecución del Código en donde se observa la impresión de la Lista mostrando los elementos insertados.
- listaInsertarIndice
Función para Insertar un Elemento en una posición de la Lista.
Esta función utiliza 4 parámetros:
Lista *lista. Este parámetro es correspondiente a una variable de Tipo Lista del cual se recibe su dirección de memoria.
Entero tipo. Este parámetro es para indicar el Tipo de Dato que se va a insertar en la Lista. Los valores posible para este parámetro son: TIPO_CADENA, TIPO_ENTERO, TIPO_CARACTER y TIPO DOBLE.
Entero indice. Este parámetro es para indicar la posición de la Lista en que el elemento será insertado.
.... Este parámetro es para indicar el dato que se va a asignar a el Valor del Elemento, el cual puede ser de los 4 posibles tipos de datos indicados en el parámetro previo.
El siguiente ejemplo muestra como insertar un elemento a la Lista en una posición determinada.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Se insertan elementos en la lista
Imprimir("Insertando Elementos a la lista");
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Desplegar los elementos de la lista
Imprimir("Lista antes de insertar en Medio");
listaImprimir(lista);
CL;
// Agregamos un Elemento en un indice
listaInsertarIndice(&lista,TIPO_CADENA,3,"C es EasyC");
// Desplegar los elementos de la lista
Imprimir("Lista despues de insertar en posicion 3");
listaImprimir(lista);
CL;
// Agregamos un Elemento en un indice
listaInsertarIndice(&lista,TIPO_ENTERO,1,111);
// Desplegar los elementos de la lista
Imprimir("Lista despues de insertar en posicion 1");
listaImprimir(lista);
CL;
// Agregamos un Elemento en un indice
listaInsertarIndice(&lista,TIPO_DOBLE,5,11.21);
// Desplegar los elementos de la lista
Imprimir("Lista despues de insertar en posicion 5");
listaImprimir(lista);
CL;
// Agregamos un Elemento en un indice
listaInsertarIndice(&lista,TIPO_CARACTER,1,'X');
// Desplegar los elementos de la lista
Imprimir("Lista despues de insertar en posicion 1");
listaImprimir(lista);
CL;
El Ejemplo anterior primeramente define la variable lista del Tipo Lista y la inicializa. A continuación inserta 4 elementos a la Lista y la despliega. Posteriormente inserta varios elementos en diversas posiciones y va desplegando la lista cada vez que inserta uno para verificar su inserción.
La siguiente imagen muestra la ejecución del Código en donde se observa la impresión del Diccionario mostrando los elementos insertados.
- listaInsertarInicio
Función para Insertar un Elemento al Inicio de la Lista.
Esta función utiliza 3 parámetros:
Lista *lista. Este parámetro es correspondiente a una variable de Tipo Lista del cual se recibe su dirección de memoria.
Entero tipo. Este parámetro es para indicar el Tipo de Dato que se va a insertar en la Lista. Los valores posible para este parámetro son: TIPO_CADENA, TIPO_ENTERO, TIPO_CARACTER y TIPO DOBLE.
.... Este parámetro es para indicar el dato que se va a asignar a el Valor del Elemento, el cual puede ser de los 4 posibles tipos de datos indicados en el parámetro previo.
El siguiente ejemplo muestra como insertar elementos a la Lista al Inicio.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Se insertan elementos en la lista
Imprimir("Insertando Elementos al Inicio de la lista");
CL;
// Agregamos un Elemento a la lista
listaInsertarInicio(&lista,TIPO_ENTERO,10);
// Agregamos un Elemento a la lista
listaInsertarInicio(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertarInicio(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertarInicio(&lista,TIPO_ENTERO,40);
// Desplegar los elementos de la lista
Imprimir("Lista");
listaImprimir(lista);
CL;
El Ejemplo anterior primeramente define la variable lista del Tipo Lista y la inicializa. Posteriormente inserta 4 elementos al Inicio de la Lista utilizando los 4 diferentes Tipos posibles. Finalmente la Lista es impresa y se puede observar como los elementos quedan almacenados en el orden inverso en que fueron capturados; debido a que fueron insertados al Inicio de la Lista.
- listaInsertarN
Función para Insertar N elementos de un mismo Tipo a la Lista.
Esta función utiliza 4 parámetros:
Lista *lista. Este parámetro es correspondiente a una variable de Tipo Lista del cual se recibe su dirección de memoria.
Entero tipo. Este parámetro es para indicar el Tipo de Dato que se va a insertar en la Lista. Los valores posible para este parámetro son: TIPO_CADENA, TIPO_ENTERO, TIPO_CARACTER y TIPO DOBLE.
Entero numero. Este parámetro es para indicar el número de elementos que se insertarán en la lista.
.... Este parámetro es para indicar cada uno de los N elementos a insertar.
El siguiente ejemplo muestra como insertar N elementos a la Lista.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Agregamos Varios Elementos a la Lista
listaInsertarN(&lista,TIPO_ENTERO,5,20,10,23,45,54);
// Agregamos Varios Elementos a la Lista
listaInsertarN(&lista,TIPO_CARACTER,5,'a','e','i','o','u');
// Agregamos Varios Elementos a la Lista
listaInsertarN(&lista,TIPO_DOBLE,3,112.31,156.178,290.12);
// Agregamos Varios Elementos a la Lista
listaInsertarN(&lista,TIPO_CADENA,3,"Programar","en C", "es EasyC");
// Desplegar los elementos de la lista
Imprimir("Lista Generada");
listaImprimir(lista);
CL;
El Ejemplo anterior primeramente define la variable lista del Tipo Lista y la inicializa. A continuación inserta 5 elementos de TIPO_ENTERO; 5 elementos de TIPO_CARACTER; 3 elementos de TIPO_DOBLE y 3 elementos de TIPO_CADENA. Finalmente la Lista es impresa y se puede observar como han quedado insertados todos los Elementos en la Lista.
- listaActualizar
Función para Actualizar 1 elemento de la Lista.
Esta función utiliza 4 parámetros:
Lista *lista. Este parámetro es correspondiente a una variable de Tipo Lista del cual se recibe su dirección de memoria.
Entero indice. Este parámetro es para indicar la posición del elemento que se modificará.
Entero tipo. Este parámetro es para indicar el Tipo de Dato que se va a insertar en la Lista.
.... Este parámetro es para indicar el elemento que se utilizará para actualizar.
El siguiente ejemplo muestra como Actualizar 1 elemento de la Lista.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_CARACTER,'3');
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_DOBLE,30.33);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_CADENA,"cadena40");
// Desplegar los elementos de la lista
Imprimir("Lista Inicial");
listaImprimir(lista);
CL;
// Actualizamos un Elemento
Imprimir("Intentando actualizar el Elemento 1 de la lista");
si (listaActualizar(lista,1,TIPO_CARACTER,'1'))
Imprimir("Se ha realizado la actualizacion");
deOtroModo
Imprimir("No se ha realizado la actualizacion");
// Desplegar los elementos de la lista
listaImprimir(lista);
CL;
// Actualizamos un Elemento
Imprimir("Intentando actualizar el Elemento 2 de la lista");
si (listaActualizar(lista,2,TIPO_DOBLE,2.2))
Imprimir("Se ha realizado la actualizacion");
deOtroModo
Imprimir("No se ha realizado la actualizacion");
// Desplegar los elementos de la lista
listaImprimir(lista);
CL;
Imprimir("Intentando actualizar el Elemento 3 de la lista");
si (listaActualizar(lista,3,TIPO_ENTERO,3))
Imprimir("Se ha realizado la actualizacion");
deOtroModo
Imprimir("No se ha realizado la actualizacion");
// Desplegar los elementos de la lista
listaImprimir(lista);
CL;
Imprimir("Intentando actualizar el Elemento 4 de la lista");
si (listaActualizar(lista,4,TIPO_CADENA,"4"))
Imprimir("Se ha realizado la actualizacion");
deOtroModo
Imprimir("No se ha realizado la actualizacion");
// Desplegar los elementos de la lista
listaImprimir(lista);
CL;
Imprimir("Intentando actualizar el Elemento 1 de la lista");
si (listaActualizar(lista,1,TIPO_CADENA,"UNO"))
Imprimir("Se ha realizado la actualizacion");
deOtroModo
Imprimir("No se ha realizado la actualizacion");
// Desplegar los elementos de la lista
listaImprimir(lista);
CL;
Imprimir("Intentando actualizar el Elemento 2 de la lista");
si (listaActualizar(lista,2,TIPO_CADENA,"DOS"))
Imprimir("Se ha realizado la actualizacion");
deOtroModo
Imprimir("No se ha realizado la actualizacion");
// Desplegar los elementos de la lista
listaImprimir(lista);
CL;
Imprimir("Intentando actualizar el Elemento 3 de la lista");
si (listaActualizar(lista,3,TIPO_CADENA,"TRES"))
Imprimir("Se ha realizado la actualizacion");
deOtroModo
Imprimir("No se ha realizado la actualizacion");
// Desplegar los elementos de la lista
listaImprimir(lista);
CL;
Imprimir("Intentando actualizar el Elemento 4 de la lista");
si (listaActualizar(lista,4,TIPO_CADENA,"CUATRO"))
Imprimir("Se ha realizado la actualizacion");
deOtroModo
Imprimir("No se ha realizado la actualizacion");
// Desplegar los elementos de la lista
listaImprimir(lista);
CL;
El Ejemplo anterior primeramente define la variable lista del Tipo Lista y la inicializa. A continuación inserta 4 elementos y posteriormente va modificando uno a uno y desplegando la Lista en cada modificación, para poder apreciar la actualización del elemento.
- listaAgregarLista
Función para agregar los elementos de una Lista a otra Lista.
Esta función utiliza 2 parámetros:
Lista *listaDestino. Este parámetro es correspondiente a la Lista en la cual se agregarán los elementos.
Lista *listaAgregar. Este parámetro es correspondiente a la Lista de la cual se toman los elementos para agregarlos a la listaDestino.
El siguiente ejemplo muestra como agregar una Lista a otra.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Agregamos Elementos a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
listaInsertar(&lista,TIPO_ENTERO,30);
listaInsertar(&lista,TIPO_ENTERO,30);
listaInsertar(&lista,TIPO_ENTERO,40);
// Desplegar los elementos de la lista
Imprimir("Lista 1");
listaImprimir(lista);
CL;
// Agrego una Lista Nueva
Lista lista2;
// Inicializa la Lista2
listaInicializar(&lista2);
// Agregamos elementos a la lista 2
listaInsertar(&lista2,TIPO_CADENA,"Programar");
listaInsertar(&lista2,TIPO_CADENA,"es");
listaInsertar(&lista2,TIPO_CADENA,"Facil");
listaInsertar(&lista2,TIPO_CADENA,"con");
listaInsertar(&lista2,TIPO_CADENA,"xsEasyc");
Imprimir("Lista 2");
listaImprimir(lista2);
CL;
Imprimir("Agregando lista2 a lista1");
listaAgregarLista(&lista,lista2);
Imprimir("Desplegando la lista 1 ya con la lista 2 agregada");
listaImprimir(lista);
El Ejemplo anterior define 2 listas; y posteriormente la segunda es agregada a la primera, y esta es desplegada para observar como contiene sus elementos iniciales, mas los elementos de la segunda lista.
- listaAgregarVector
Función para agregar los elementos de Vector, a una Lista.
Esta función utiliza 2 parámetros:
Lista *lista. Este parámetro es correspondiente a la Lista en la cual se agregarán los elementos.
Entero tipo. Este parámetro es correspondiente al Tipo de Dato de los Elementos del Vector a Agregar.
Entero elementos. Este parámetro es correspondiente al número de elementos que contiene el Vector.
.... Este parámetro es para indicar el vector con los elementos a agregar.
El siguiente ejemplo muestra como agregar un Vector a una Lista.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Desplegar los elementos de la lista
Imprimir("Lista");
listaImprimir(lista);
CL;
// Declarando un Vector de Flotantes para agregarlos a la lista
Doble pesos[4];
pesos[0]=34.56;
pesos[1]=43.21;
pesos[2]=44.55;
pesos[3]=33.44;
// Agregando un Vector a la Lista
Imprimir("Agregando un Vector de 4 Dobles a la lista");
listaAgregarVector(&lista,TIPO_DOBLE,4,pesos);
listaImprimir(lista);
El Ejemplo anterior define 1 lista a la cual se le agregan 4 elementos. A continuación se define un Vector de 4 flotantes; los cuales se agregan a la lista. Al se esta desplegada se observa como contiene los elementos que se le insertaron inicialmente, mas los elementos del Vector.
- listaBuscar
Función para Buscar un Elemento en la Lista
Esta función utiliza 3 parámetros:
Lista *lista. Este parámetro es correspondiente a una variable de Tipo Lista del cual se recibe su dirección de memoria.
Entero tipo. Este parámetro es para indicar el Tipo de Dato del elemento que se va a buscar en la Lista.
.... Este parámetro es para indicar el dato que se va a buscar.
En caso de que el elemento no sea encontrado, la función devuelve el valor de 0; y si lo encuentra devuelve la posición en la que lo encontró a partir de la posición 1.
El siguiente ejemplo muestra como buscar un elemento.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_CADENA,"EasyC");
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_CARACTER,'X');
// Desplegar los elementos de la lista
Imprimir("Lista");
listaImprimir(lista);
CL;
// Variable para resultado de buscar
Entero encontro;
// Imprimir Buscando Elementos
Imprimir("Buscando elementos en la lista");
// Buscando
encontro = listaBuscar(&lista,TIPO_ENTERO,20);
// Verifica si lo encontró
si (encontro>0)
imprimirEntero(encontro,"El No. 20 se encuentra en:%d",CON_CAMBIO_LINEA);
deOtroModo
Imprimir("El 20 no se encuentra");
// Buscando
encontro = listaBuscar(&lista,TIPO_CARACTER,'J');
// Verifica si lo encontró
si (encontro>0)
imprimirEntero(encontro,"El caracter J se encuentra en:%d",CON_CAMBIO_LINEA);
deOtroModo
Imprimir("El caracter J no se encuentra");
// Buscando
encontro = listaBuscar(&lista,TIPO_CADENA,"xsEasyC");
// Verifica si lo encontró
si (encontro>0)
imprimirEntero(encontro,"La Cadena 'xsEasyC' se encuentra en:%d",CON_CAMBIO_LINEA);
deOtroModo
Imprimir("La Cadena 'xsEasyC' no se encuentra");
El Ejemplo anterior primeramente define la variable lista del Tipo Lista y la inicializa. Posteriormente inserta 3 elementos y realiza la búsqueda de 2 que si existe y 1 uno que no existe.
- listaContar
Función para Contar las apariciones de un Elemento en la Lista
Esta función utiliza 3 parámetros:
Lista *lista. Este parámetro es correspondiente a una variable de Tipo Lista del cual se recibe su dirección de memoria.
Entero tipo. Este parámetro es para indicar el Tipo de Dato del elemento que se va a contar en la Lista.
.... Este parámetro es para indicar el dato que se va a contar.
En caso de que el elemento no sea encontrado, la función devuelve el valor de 0; y si lo encuentra devuelve cuantas veces lo encontró en la lista.
El siguiente ejemplo muestra como buscar un elemento.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Agregamos Varios Elementos a la lista
listaInsertarN(&lista,TIPO_CADENA,5,"xsEasyC","xsEasyC","es Facil","con","xsEasyC");
// Desplegar los elementos de la lista
Imprimir("Lista");
listaImprimir(lista);
CL;
// Cuenta
imprimirEntero(listaContar(lista,TIPO_ENTERO,20),"El 20 aparece %d veces",CON_CAMBIO_LINEA);
// Cuenta
imprimirEntero(listaContar(lista,TIPO_ENTERO,30),"El 30 aparece %d veces",CON_CAMBIO_LINEA);
// Cuenta
imprimirEntero(listaContar(lista,TIPO_CADENA,"xsEasyC"),"xsEasy aparece %d veces",CON_CAMBIO_LINEA);
El Ejemplo anterior primeramente define la variable lista del Tipo Lista y la inicializa. Posteriormente inserta varios elementos y realiza el conteo de 3 de ellos.
- listaConvertirAVector
Función para que convierte la Lista en un Vector
Esta función utiliza 2 parámetros:
Lista lista. Este parámetro es correspondiente a la Lista.
Entero tipo. Este parámetro es para indicar el Tipo de Dato del cual se generará el Vector.
En caso de la Lista no contenga todos los elementos del mismo Tipo indicado en el parámetro, la función devuelve el valor de NULO.
El siguiente ejemplo muestra como buscar un elemento.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Desplegar los elementos de la lista
Imprimir("Lista");
listaImprimir(lista);
CL;
// Convertimos a vector
Entero* enteros;
enteros = listaConvertirAVector(lista,TIPO_ENTERO);
Imprimir("Lista Convertida en Vector");
// Variable para indice
Entero indice;
// Ciclo para desplegar el Vector obtenido
ciclo (indice=0; indice<lista.elementos; indice++)
imprimirEntero(enteros[indice],"%d",CON_CAMBIO_LINEA);
CL;
El Ejemplo anterior crea una Lista con elementos de TIPO_ENTERO y posteriormente utilizando la función los convierte a un Vector. A continuación despliega los elementos de Vector, corroborando que son los mismos elementos de la Lista.
- listaConvertirCSV
Función que crea una lista desde una Cadena en Formato CSV
Esta función utiliza 1 parámetro:
Cadena cadenaCSV. Este parámetro contiene la lista de Elementos en formato CSV.
La función retorna la Lista con los elementos de TIPO_CADENA.
El siguiente ejemplo muestra como generar una Lista a partir de una Cadena con elementos en formato CSV.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Mensaje
Imprimir("Generando la lista desde la cadena en formato CSV...");
// Genera una lista desde una cadena CSV
lista = listaDesdeCSV("1,dos,c4,5,111");
// Despliega la lista
listaImprimir(lista);
El Ejemplo anterior crea una variable de Tipo Lista; la inicializa y posteriormente llama a la función pasando una cadena con elementos en formato CSV y lo asigna a la variable definida. A continuación despliega la lista en donde se observan todos los Elementos de la cadena en formato CSV.
- listaElemento
Función que obtiene un elemento de la Lista
Esta función utiliza 2 parámetros:
Lista lista. Este parámetro contiene la Lista.
Entero indice. Este parámetro indica el índice del elemento que se quiere obtener.
La función retorna el elemento de la Lista correspondiente al índice indicado. Si el índice no es correcto; el Tipo de Dato del elemento devuelto, tendrá el valor de -1.
El siguiente ejemplo muestra como obtener un elemento de una Lista.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Desplegar los elementos de la lista
Imprimir("Desplegando la Lista");
listaImprimir(lista);
CL;
// Obtiene información del Elemento 3
ElementoLista elemento;
elemento = listaElemento(lista,3);
// Despliega información del Elemento
Imprimir("Informacion del Elemento 3");
// Verifica el Tipo de Dato
evaluar (elemento.tipo)
{
siEs TIPO_ENTERO:
imprimirEntero(elemento.tipo,"Tipo:%d [Entero]",CON_CAMBIO_LINEA);
imprimirEntero(elemento.dato.entero,"Entero :%d",CON_CAMBIO_LINEA);
salirEvaluar;
siEs TIPO_CARACTER:
imprimirEntero(elemento.tipo,"Tipo:%d [Caracter]",CON_CAMBIO_LINEA);
imprimirCaracter(elemento.dato.caracter,"Caracter :%c",CON_CAMBIO_LINEA);
salirEvaluar;
siEs TIPO_DOBLE:
imprimirEntero(elemento.tipo,"Tipo:%d [Doble]",CON_CAMBIO_LINEA);
imprimirDoble(elemento.dato.doble,"Doble :%lf",CON_CAMBIO_LINEA);
salirEvaluar;
siEs TIPO_CADENA:
imprimirEntero(elemento.tipo,"Tipo:%d [Cadena]",CON_CAMBIO_LINEA);
imprimirCadena(elemento.dato.cadena,"Cadena :%s",CON_CAMBIO_LINEA);
salirEvaluar;
}
CL;
El Ejemplo anterior crea una variable de Tipo Lista con 4 elementos y define la variable elemento del tipo ElementoLista. Posteriormente obtiene el elemento de la posición 3 y se lo asigna a la variable elemento definida, y entonces despliega su Tipo y Valor.
- listaElementoMax
Función que obtiene el Elemento Máximo de una lista con respecto a un Tipo de Dato indicado
Esta función utiliza 3 parámetros:
Lista lista. Este parámetro contiene la Lista.
Entero tipo. Este parámetro contiene indica el Tipo de Dato del cual se requiere el elemento Máximo.
Entero *indice. En este parámetro la función devolverá el índice del Elemento Máximo, en caso de que lo haya encontrado.
La función retorna el elemento Máximo de la Lista correspondiente al Tipo de Dato. Si el dato no es encontrado; el Tipo de Dato del elemento devuelto, tendrá el valor de -1.
El siguiente ejemplo muestra como obtener un elemento de una Lista.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Agregamos Elementos Caracter a la lista
listaInsertarN(&lista,TIPO_CARACTER,3,'A','B','0');
// Agregamos Elementos Cadena a la lista
listaInsertarN(&lista,TIPO_CADENA,4,"xsEasyC","Programacion","Facil","en C");
// Agregamos Elementos Doble a la Lista
listaInsertarN(&lista,TIPO_DOBLE,4,3.14,22.50,33.55,55.90);
// Desplegar los elementos de la lista
Imprimir("Desplegando la Lista");
listaImprimir(lista);
CL;
// Variable de tipo Elemento de Lista
ElementoLista elemento;
// Variable para saber la posición donde lo encontró
Entero indice;
// Imprimir de Búsqueda
Imprimir("Obteniendo el Elemento Max Entero");
// Obtiene información del Elemento Max Entero
elemento = listaElementoMax(lista,TIPO_ENTERO,&indice);
// Despliega información del Elemento
Imprimir("Informacion del Elemento Max Entero");
imprimirEntero(indice ,"Indice :%d",CON_CAMBIO_LINEA);
imprimirEntero(elemento.tipo ,"Tipo :%d",CON_CAMBIO_LINEA);
imprimirEntero(elemento.dato.entero,"Entero :%d",CON_CAMBIO_LINEA);
CL;
// Imprimir de Búsqueda
Imprimir("Obteniendo el Elemento Max Cadena");
// Obtiene información del Elemento Min Cadena
elemento = listaElementoMax(lista,TIPO_CADENA,&indice);
// Despliega información del Elemento
Imprimir("Informacion del Elemento Max Cadena");
imprimirEntero(indice ,"Indice :%d",CON_CAMBIO_LINEA);
imprimirEntero(elemento.tipo ,"Tipo :%d",CON_CAMBIO_LINEA);
imprimirCadena(elemento.dato.cadena ,"Cadena :%s",CON_CAMBIO_LINEA);
CL;
// Imprimir de Búsqueda
Imprimir("Obteniendo el Elemento Max Caracter");
// Obtiene información del Elemento Max Cadena
elemento = listaElementoMax(lista,TIPO_CARACTER,&indice);
// Despliega información del Elemento
Imprimir("Informacion del Elemento Max Caracter");
imprimirEntero(indice ,"Indice :%d",CON_CAMBIO_LINEA);
imprimirEntero(elemento.tipo ,"Tipo :%d",CON_CAMBIO_LINEA);
imprimirCaracter(elemento.dato.caracter,"Caracter :%c",CON_CAMBIO_LINEA);
CL;
// Imprimir de Búsqueda
Imprimir("Obteniendo el Elemento Max Doble");
// Obtiene información del Elemento Max Doble
elemento = listaElementoMax(lista,TIPO_DOBLE,&indice);
// Despliega información del Elemento
Imprimir("Informacion del Elemento Max Doble");
imprimirEntero(indice ,"Indice :%d",CON_CAMBIO_LINEA);
imprimirEntero(elemento.tipo ,"Tipo :%d",CON_CAMBIO_LINEA);
imprimirDoble(elemento.dato.doble,"Doble :%lf",CON_CAMBIO_LINEA);
CL;
El Ejemplo anterior crea una variable de Tipo Lista en el cual se insertan elementos de TIPO_ENTERO, TIPO_CARACTER, TIPO_CADENA y TIPO_DOBLE. Posteriormente se obtiene el Máximo elemento para cada uno de los Tipos y la información correspondiente a cada uno es desplegada.
- listaElementoMin
Función que obtiene el Elemento Mínimo de una lista con respecto a un Tipo de Dato indicado
Esta función utiliza 3 parámetros:
Lista lista. Este parámetro contiene la Lista.
Entero tipo. Este parámetro contiene indica el Tipo de Dato del cual se requiere el elemento Mínimo.
Entero *indice. En este parámetro la función devolverá el índice del Elemento Mínimo, en caso de que lo haya encontrado.
La función retorna el elemento Mínimo de la Lista correspondiente al Tipo de Dato. Si el dato no es encontrado; el Tipo de Dato del elemento devuelto, tendrá el valor de -1.
El siguiente ejemplo muestra como obtener un elemento de una Lista.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Agregamos Elementos Caracter a la lista
listaInsertarN(&lista,TIPO_CARACTER,3,'A','B','0');
// Agregamos Elementos Cadena a la lista
listaInsertarN(&lista,TIPO_CADENA,4,"xsEasyC","Programacion","Facil","en C");
// Agregamos Elementos Doble a la Lista
listaInsertarN(&lista,TIPO_DOBLE,4,3.14,22.50,33.55,55.90);
// Desplegar los elementos de la lista
Imprimir("Desplegando la Lista");
listaImprimir(lista);
CL;
// Variable de tipo Elemento de Lista
ElementoLista elemento;
// Variable para saber la posición donde lo encontró
Entero indice;
// Imprimir de Búsqueda
Imprimir("Obteniendo el Elemento Min Entero");
// Obtiene información del Elemento Min Entero
elemento = listaElementoMin(lista,TIPO_ENTERO,&indice);
// Despliega información del Elemento
Imprimir("Informacion del Elemento Min Entero");
imprimirEntero(indice ,"Indice :%d",CON_CAMBIO_LINEA);
imprimirEntero(elemento.tipo ,"Tipo :%d",CON_CAMBIO_LINEA);
imprimirEntero(elemento.dato.entero,"Entero :%d",CON_CAMBIO_LINEA);
CL;
// Imprimir de Búsqueda
Imprimir("Obteniendo el Elemento Min Cadena");
// Obtiene información del Elemento Min Cadena
elemento = listaElementoMin(lista,TIPO_CADENA,&indice);
// Despliega información del Elemento
Imprimir("Informacion del Elemento Min Cadena");
imprimirEntero(indice ,"Indice :%d",CON_CAMBIO_LINEA);
imprimirEntero(elemento.tipo ,"Tipo :%d",CON_CAMBIO_LINEA);
imprimirCadena(elemento.dato.cadena ,"Cadena :%s",CON_CAMBIO_LINEA);
CL;
// Imprimir de Búsqueda
Imprimir("Obteniendo el Elemento Min Caracter");
// Obtiene información del Elemento Min Cadena
elemento = listaElementoMin(lista,TIPO_CARACTER,&indice);
// Despliega información del Elemento
Imprimir("Informacion del Elemento Min Caracter");
imprimirEntero(indice ,"Indice :%d",CON_CAMBIO_LINEA);
imprimirEntero(elemento.tipo ,"Tipo :%d",CON_CAMBIO_LINEA);
imprimirCaracter(elemento.dato.caracter,"Caracter :%c",CON_CAMBIO_LINEA);
CL;
// Imprimir de Búsqueda
Imprimir("Obteniendo el Elemento Min Doble");
// Obtiene información del Elemento Min Doble
elemento = listaElementoMin(lista,TIPO_DOBLE,&indice);
// Despliega información del Elemento
Imprimir("Informacion del Elemento Min Doble");
imprimirEntero(indice ,"Indice :%d",CON_CAMBIO_LINEA);
imprimirEntero(elemento.tipo ,"Tipo :%d",CON_CAMBIO_LINEA);
imprimirDoble(elemento.dato.doble,"Doble :%lf",CON_CAMBIO_LINEA);
CL;
El Ejemplo anterior crea una variable de Tipo Lista en el cual se insertan elementos de TIPO_ENTERO, TIPO_CARACTER, TIPO_CADENA y TIPO_DOBLE. Posteriormente se obtiene el Máximo elemento para cada uno de los Tipos y la información correspondiente a cada uno es desplegada.
- listaEliminarElemento
Función que elimina un Elemento de la Lista
Esta función utiliza 3 parámetros:
Lista lista. Este parámetro contiene la Lista.
Entero tipo. Este parámetro contiene indica el Tipo de Dato del cual se requiere el elemento Mínimo.
.... En este parámetro la función se coloca el Valor del Elemento que se desea eliminar.
La función retorna VERDAD en caso de que el elemento exista y haya sido eliminado; y FALSO en caso de que no exista.
El siguiente ejemplo muestra como eliminar un elemento de una Lista.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Agregamos un Elemento a la lista
listaInsertarN(&lista,TIPO_CARACTER,3,'A','B','0');
// Agregamos un Elemento a la lista
listaInsertarN(&lista,TIPO_CADENA,4,"Easy","Programacion","Facil","En C");
// Desplegamos la lista
Imprimir("Desplegando la lista");
listaImprimir(lista);
CL;
// Imprimir de Eliminación
Imprimir("Eliminando elemento 'B' ");
CL;
si (listaEliminarElemento(&lista,TIPO_CARACTER,'B'))
Imprimir("El Elemento Fue Eliminado");
deOtroModo
Imprimir("El Elemento No fue eliminado");
CL;
// Desplegamos la lista
listaImprimir(lista);
// Imprimir de Eliminación
Imprimir("Eliminando elemento 'X' ");
CL;
si (listaEliminarElemento(&lista,TIPO_CARACTER,'X'))
Imprimir("El Elemento Fue Eliminado");
deOtroModo
Imprimir("El Elemento No fue eliminado");
CL;
// Desplegamos la lista
listaImprimir(lista);
El Ejemplo anterior crea una variable de Tipo Lista en el cual se insertan varios elementos de diferentes Tipos. Posteriormente trata de eliminar el elemento B que si existe y a continuación el elemento X que no existe; para lo cual despliega el mensaje correspondiente.
- listaEliminarIndice
Función que elimina un Elemento de la Lista por índice
Esta función utiliza 3 parámetros:
Lista lista. Este parámetro contiene la Lista.
Entero indice. Este parámetro contiene indica el índice del elemento a eliminar en la Lista.
La función retorna VERDAD en caso de que el elemento exista y haya sido eliminado; y FALSO en caso de que no exista.
El siguiente ejemplo muestra como eliminar un elemento de una Lista por su índice.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Agregamos un Elemento a la lista
listaInsertarN(&lista,TIPO_CARACTER,3,'A','B','0');
// Agregamos un Elemento a la lista
listaInsertarN(&lista,TIPO_CADENA,4,"Easy","Programacion","Facil","En C");
// Desplegamos la lista
Imprimir("Desplegando la lista");
listaImprimir(lista);
CL;
// Imprimir de Eliminación
Imprimir("Eliminando elemento en indice 5 ");
CL;
si (listaEliminarIndice(&lista,5))
Imprimir("El Elemento Fue Eliminado");
deOtroModo
Imprimir("El Elemento No fue eliminado");
CL;
// Desplegamos la lista
listaImprimir(lista);
// Imprimir de Eliminación
Imprimir("Eliminando elemento en indice 1 ");
CL;
si (listaEliminarIndice(&lista,1))
Imprimir("El Elemento Fue Eliminado");
deOtroModo
Imprimir("El Elemento No fue eliminado");
CL;
// Desplegamos la lista
listaImprimir(lista);
El Ejemplo anterior crea una variable de Tipo Lista en el cual se insertan varios elementos de diferentes Tipos. Posteriormente trata de eliminar el elemento en la posición 5 y el elemento en la posición 1; para lo cual despliega el mensaje correspondiente.
- listaImprimir
Función que imprime los elementos de una Lista en la pantalla
Esta función utiliza 1 parámetro:
Lista lista. Este parámetro se utiliza para indicar la Lista de la cual se imprimirán los elementos.
En todos los ejemplos previos se ha mostrado como utilizar la función para imprimir los elementos de la Lista.
- listaImprimirElemento
Función que imprime la información de un Elemento de la Lista
Esta función utiliza 1 parámetro:
ElementoLista elemento. Este parámetro se utiliza para indicar el elemento del cual se va a imprimir la información.
El siguiente ejemplo muestra como imprimir la información de un Elemento de la Lista.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Desplegar los elementos de la lista
Imprimir("Desplegando la Lista");
listaImprimir(lista);
CL;
// Obteniendo un Elemento
ElementoLista elemento;
elemento = listaElemento(lista,3);
// Imprimir
Imprimir("Imprimiendo la informacion del Elemento 3 ...");
listaImprimirElemento(elemento);
El Ejemplo anterior crea una variable de Tipo Lista en el cual se insertan varios elementos de diferentes Tipos. Posteriormente se define la variable elemento del tipo ElementoLista; y entonces se ejecuta la función que obtiene el elemento 3 de la lista y lo asigna a la variable definida. A continuación de llama a la función que imprime la información del Elemento.
- listaInvertir
Función que invierte el orden de los Elementos de la Lista
Esta función utiliza 1 parámetro:
Lista *lista. Este parámetro se utiliza para indicar la Lista de la cual se van a invertir sus elementos, la cual debe pasarse al parámetro su dirección.
El siguiente ejemplo muestra como invertir los elementos de una Lista.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Se insertan elementos en la lista
Imprimir("Insertando Elementos a la lista");
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_CADENA,"C es xsEasyC");
// Desplegar los elementos de la lista
Imprimir("Lista");
listaImprimir(lista);
CL;
// Se invierte la lista
listaInvertir(&lista);
// Desplegar los elementos de la lista
Imprimir("Lista Invertida");
listaImprimir(lista);
CL;
El Ejemplo anterior crea una variable de Tipo Lista en el cual se insertan varios elementos de diferentes Tipos. Posteriormente se llama a la función que invierte los elementos y se despliega la Lista para verificar que los elementos están ahora en el orden inverso del inicial.
- listaLongitud
Función que obtiene el número de elementos en la Lista
Esta función utiliza 1 parámetro:
Lista lista. Este parámetro se utiliza para indicar la Lista de la cual se va a obtener el número de elementos que contiene.
El siguiente ejemplo muestra como obtener el número de elementos de una Lista.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Se insertan elementos en la lista
Imprimir("Insertando Elementos a la lista");
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_CADENA,"C es xsEasyC");
// Desplegar los elementos de la lista
Imprimir("Lista Inicial");
listaImprimir(lista);
CL;
// Desplegar los elementos de la lista
imprimirEntero(listaLongitud(lista),"La longitud de la Lista
es:%d",CON_CAMBIO_LINEA);
El Ejemplo anterior crea una variable de Tipo Lista en el cual se insertan 5 elementos. Posteriormente se llama a la función que obtiene el número de los elementos de la lista la cual imprime el valor de 5.
- listaOrdenar
Función que ordena los Elementos de una Lista
Esta función utiliza 2 parámetro:
Lista lista. Este parámetro se utiliza para indicar la Lista de la cual se van a ordenar los elementos.
Entero orden. Este parámetro se utiliza para indicar si la lista se ordenará en forma ascendente o descendente. Los valores posibles son: ORDEN_ASCENDENTE y ORDEN_DESCENDENTE.
Para que pueda realizarse el ordenamiento de la Lista, todos sus elementos deben ser del mismo Tipo de Dato.
El siguiente ejemplo muestra como ordenar los elementos de una Lista.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Se insertan elementos en la lista
Imprimir("Insertando Elementos a la lista");
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,100);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,10);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Desplegar los elementos de la lista
Imprimir("Lista");
listaImprimir(lista);
CL;
// Se Ordena la lista
listaOrdenar(&lista,ORDEN_DESCENDENTE);
// Desplegar los elementos de la lista
Imprimir("Lista Ordenada Descendente");
listaImprimir(lista);
CL;
// Se Ordena la lista
listaOrdenar(&lista,ORDEN_ASCENDENTE);
// Desplegar los elementos de la lista
Imprimir("Lista Ordenada Ascendente");
listaImprimir(lista);
CL;
El Ejemplo anterior crea una variable de Tipo Lista en el cual se insertan varios elementos. Posteriormente se llama a la función que ordena primeramente los elementos en forma descendente y posteriormente en forma descendente.
- listaTipo
Función que obtiene el Tipo de Dato de la Lista
Esta función utiliza 1 parámetro:
Lista lista. Este parámetro se utiliza para indicar la Lista de la cual se va a obtener su Tipo.
Para que la función devuelva un Tipo; todos los elementos deben ser del mismo Tipo de Dato. Si la Lista contiene elementos de diferente Tipo, devuelve -1.
El siguiente ejemplo muestra como ordenar los elementos de una Lista.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Se insertan elementos en la lista
Imprimir("Insertando Elementos a la lista");
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,100);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,10);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Desplegar los elementos de la lista
Imprimir("Lista");
listaImprimir(lista);
CL;
// Variable para el Tipo de Lista
Entero tipoLista;
// Ejecuta la Función
tipoLista = listaTipo(lista);
// Verifica que tipo es
evaluar (tipoLista)
{
siEs TIPO_ENTERO:
Imprimir("La lista es de Tipo Entero");
salirEvaluar;
siEs TIPO_CARACTER:
Imprimir("La lista es de Tipo Caracter");
salirEvaluar;
siEs TIPO_DOBLE:
Imprimir("La lista es de Tipo Doble");
salirEvaluar;
siEs TIPO_CADENA:
Imprimir("La lista es de Tipo Cadena");
salirEvaluar;
}
El ejemplo anterior crea una variable de Tipo Lista en el cual se insertan varios elementos. Posteriormente se llama a la función que obtiene el Tipo de la Lista y despliega un mensaje acorde.
- listaTipoElemento
Función que obtiene el Tipo de Dato de un Elemento de la Lista
Esta función utiliza 1 parámetro:
Lista lista. Este parámetro se utiliza para indicar la Lista.
Entero indice. Este parámetro se utiliza para indicar la posición del Elemento del cual se desea obtener su tipo.
Si el índice indicado no es correcto, la función devuelve -1.
El siguiente ejemplo muestra como ordenar el Tipo de Dato de un elemento de la Lista.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Se insertan elementos en la lista
Imprimir("Insertando Elementos a la lista");
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,100);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,10);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_CADENA,"xsEasyC");
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Desplegar los elementos de la lista
Imprimir("Lista");
listaImprimir(lista);
CL;
// Variable para el Tipo de Lista
Entero tipoElemento;
// Ejecuta la Función
tipoElemento = listaTipoElemento(lista,4);
// Verifica que tipo es
evaluar (tipoElemento)
{
siEs TIPO_ENTERO:
Imprimir("El elemento 4 es de Tipo Entero");
salirEvaluar;
siEs TIPO_CARACTER:
Imprimir("El elemento 4 es de Tipo Caracter");
salirEvaluar;
siEs TIPO_DOBLE:
Imprimir("El elemento 4 de Tipo Doble");
salirEvaluar;
siEs TIPO_CADENA:
Imprimir("El elemento 4 de Tipo Cadena");
salirEvaluar;
}
El ejemplo anterior crea una variable de Tipo Lista en el cual se insertan varios elementos. Posteriormente se llama a la función para obtener el Tipo de Dato del elemento en la posición 4 y despliega un mensaje acorde.
- listaVacia
Función que verifica si una Lista está vacía
Esta función utiliza 1 parámetro:
Lista lista. Este parámetro se utiliza para indicar la Lista.
El siguiente ejemplo muestra como verificar si una Lista está vacía o no.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
Imprimir("Inicializando la lista ...");
listaInicializar(&lista);
CL;
// Verifica que la lista está vacía al Inicializar
si (listaVacia(lista))
Imprimir("La lista se encuentra vacia");
deOtroModo
Imprimir("La lista No se encuentra vacia");
CL;
// Se insertan elementos en la lista
Imprimir("Insertando Elementos a la lista");
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,100);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,10);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_CADENA,"xsEasyC");
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Desplegar los elementos de la lista
Imprimir("Lista");
listaImprimir(lista);
CL;
// Verifica que la lista está vacía al Inicializar
si (listaVacia(lista))
Imprimir("La lista se encuentra vacia");
deOtroModo
Imprimir("La lista No se encuentra vacia");
CL;
El ejemplo anterior crea una variable de Tipo Lista la cual se inicializa. Al inicializarla se llama a la función que verifica que se encuentra vacía. A continuación se insertan varios elementos y de nueva cuenta se vuelve a verifica si se encuentra vacía la Lista; desplegando en cada caso el mensaje correspondiente.
- listaVaciar
Función que elimina todos los Elementos de la Lista
Esta función utiliza 1 parámetro:
Lista *lista. Este parámetro se utiliza para indicar la Lista de la cual se eliminarán los Elementos.
El siguiente ejemplo muestra como vaciar una Lista eliminando todos sus elementos.
Ejemplo:
// Variable para la lista
Lista lista;
// Inicializa la Lista
listaInicializar(&lista);
// Se insertan elementos en la lista
Imprimir("Insertando Elementos a la lista");
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,100);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,20);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,10);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_CADENA,"xsEasyC");
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,30);
// Agregamos un Elemento a la lista
listaInsertar(&lista,TIPO_ENTERO,40);
// Desplegar los elementos de la lista
Imprimir("Lista");
listaImprimir(lista);
CL;
// Mensaje
Imprimir("Vaciando la Lista");
// Eliminar todos los elementos de la lista
listaVaciar(&lista);
// Desplegar los elementos de la lista
listaImprimir(lista);
El ejemplo anterior crea una variable de Tipo Lista en la cual se insertan varios elementos. La lista es desplegada y posteriormente se vacía utilizando la función indicada. Una vez mas se manda a imprimir la Lista y se observa como esta ya se encuentra vacía.