Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Estructuras de Datos I Lista Implementación estática a b w c d 4 DATOS ULTIMO 0 1 2 3 2 Posición dada 4 5 6 … n Eliminar desde una posición dada a b w c d 4 DATOS ULTIMO 0 1 2 3 2 Posición dada 4 5 6 … n Eliminar desde una posición dada 2 Posición aux 3 aux + 1 a b c c d 4 DATOS ULTIMO 0 1 2 3 2 Posición dada 4 5 6 … n Eliminar desde una posición dada 2 Posición aux 3 aux + 1 a b c c d 4 DATOS ULTIMO 0 1 2 3 2 Posición dada 4 5 6 … n Eliminar desde una posición dada 3 Posición aux a b c c d 4 DATOS ULTIMO 0 1 2 3 2 Posición dada 4 5 6 … n Eliminar desde una posición dada 3 Posición aux 4 aux + 1 a b c d d 4 DATOS ULTIMO 0 1 2 3 2 Posición dada 4 5 6 … n Eliminar desde una posición dada 3 Posición aux 4 aux + 1 a b c d d 4 DATOS ULTIMO 0 1 2 3 2 Posición dada 4 5 6 … n Eliminar desde una posición dada 4 Posición aux a b c d d 3 DATOS ULTIMO 0 1 2 3 2 Posición dada 4 5 6 … n Eliminar desde una posición dada Función: elimina() Recibe: posición, lista Regresa: nada ¿vacía(lista) o posición < 0 o posición > ultimo? Si: Mandar mensaje de error y terminar aux = posición MIENTRAS aux < ultimo datos[aux] = datos[aux + 1] aux = aux + 1; Fin MIENTRAS ultimo = ultimo - 1; Función: elimina() Recibe: posición, lista Regresa: nada ¿vacía(lista) o posición < 0 o posición > ultimo? Si: Mandar mensaje de error y terminar aux = posición MIENTRAS aux < ultimo datos[aux] = datos[aux + 1] aux = aux + 1; Fin MIENTRAS ultimo = ultimo - 1; Void elimina(int pos, list *Lista1){ Int aux; If(vacia(Lista1) || pos < 0 || pos > Lista1 ultimo){ return; } For(aux = pos; aux < Lista1ultimo; aux++){ Lista1Datos[aux] = Lista1Datos[aux + 1]; } Lista1ultimo--; } Función: primero() Recibe: lista Regresa: posición ¿vacía(lista)? Si: Retornar -1 No: Retornar 0 Primero int primero(Lista *Lista1){ if(vacia(Lista1)){ return -1; } return 0; } Función: primero() Recibe: lista Regresa: posición ¿vacía(lista)? Si: Retornar -1 No: Retornar 0 Función: ultimo() Recibe: lista Regresa: posición retornar ultimo Ultimo int ultimo(Lista *Lista1){ return Lista1ultimo; } Función: ultimo() Recibe: lista Regresa: posición retornar ultimo Función: anterior() Recibe: pos, lista Regresa: posición ¿vacia(lista) ó pos < 1 ó pos > ultimo? Si: regresar -1 No: regresar pos - 1 Anterior Función: siguiente() Recibe: pos, lista Regresa: posición ¿vacia(lista) ó pos < 0 ó pos > ultimo - 1? Si: regresar -1 No: regresar pos + 1 Siguiente Función: localizar() Recibe: elemento, lista Regresa: posición Regresar: tipo de búsqueda (Lineal o Binaria) Localiza Función: localizar() Recibe: elemento, lista Regresa: posición Regresar: tipo de búsqueda (Lineal o Binaria) Localiza Función: ordenar() Recibe: lista Regresa: nada Regresar: tipo de ordenamiento (bubbleSort, insertSort, mergeSort, quickSort) Ordena Función: recuperar(Lista *Lista1) Recibe: pos, lista Regresa: elemento ¿vacia(Lista1) ó pos < 0 ó pos > Lista1ultimo? Si: ERROR FATAL INSUFICIENCIA DE DATOS (Excepción) No: regresar Lista1datos[pos] Recupera Función: imprimir(Lista *Lista1) Recibe: lista Regresa: nada Aux = 0; MIENTRAS aux <= Lista1ultimo imprimir Lista1datos[i] i = i + 1 Fin MIENTRAS Imprime Función: anula(Lista *Lista1) Recibe: lista Regresa: nada Lista1ultimo = -1; Anula
Compartir