Operaciones con cadenas, conversión Postfija/Prefija y listas enlazadas
Clasificado en Informática
Escrito el en
español con un tamaño de 91 KB
Fórmulas de operaciones con cadenas de caracteres
Se utiliza C para referirse a la cadena principal, C_1 y C_2 para cadenas a unir, P para la posición inicial (asumiendo indexación que comienza en 1) y L para la longitud de la porción a manipular.
- Subcadena (Extracción de una parte)
Subcadena(C, P, L) - Concatenación (Unión de cadenas)
Concatenar(C_1, C_2) - Eliminación (Supresión de caracteres)
Eliminar(C, P, L) - Insertar (Introducir una subcadena)
Insertar(C_destino, P, C_insertar) - Reemplazar (Sustituir una subcadena por otra)
Reemplazar(C_destino, P, L, C_nueva)
Matrices
Postfija y Prefija
A continuación se muestra la precedencia y asociatividad de operadores:
| Operador | Precedencia | Asociatividad |
|---|---|---|
| ^ (potencia) | más alta | derecha |
| *, / | media | izquierda |
| +, - | baja | izquierda |
Normal a Postfija
(3+5)*(6-4)+(4-1)^2
| E | Pila | Salida |
|---|---|---|
| ( | ( | |
| 3 | ( | 3 |
| + | (+ | 3 |
| 5 | (+ | 3 5 |
| ) | — se desapila + | 3 5 + |
| * | * | 3 5 + |
| ( | *( | 3 5 + |
| 6 | *( | 3 5 + 6 |
| - | *(- | 3 5 + 6 |
| 4 | *(- | 3 5 + 6 4 |
| ) | — desapila - | 3 5 + 6 4 - |
| pila: * | 3 5 + 6 4 - | |
| + | + | 3 5 + 6 4 - * |
| ( | +( | 3 5 + 6 4 - * |
| 4 | +( | 3 5 + 6 4 - * 4 |
| - | +(- | 3 5 + 6 4 - * 4 |
| 1 | +(- | 3 5 + 6 4 - * 4 1 |
| ) | — desapila - | 3 5 + 6 4 - * 4 1 - |
| ^ | +(^ | 3 5 + 6 4 - * 4 1 - |
| 2 | +(^ | 3 5 + 6 4 - * 4 1 - 2 |
| FIN | — desapilar ^, + | 3 5 + 6 4 - * 4 1 - 2 ^ + |
Normal a Prefija
(3+5)*(6-4)+(4-1)^2
| E | Pila | Salida |
|---|---|---|
| ( | ( | |
| 3 | ( | 3 |
| + | (+ | 3 |
| 5 | (+ | 5 3 |
| ) | — sale + | + 5 3 |
| * | * | * + 5 3 |
| ( | *( | * + 5 3 |
| 6 | *( | 6 * + 5 3 |
| - | *(- | - 6 * + 5 3 |
| 4 | *(- | 4 - 6 * + 5 3 |
| ) | sale - | - 4 6 * + 5 3 |
| + | + | + * - 4 6 + 5 3 |
| ( | +( | + * - 4 6 + 5 3 |
| 4 | +( | 4 + * - 4 6 + 5 3 |
| - | +(- | - 4 + * - 4 6 + 5 3 |
| 1 | +(- | 1 - 4 + * - 4 6 + 5 3 |
| ) | sale - | - 1 4 + * - 4 6 + 5 3 |
| ^ | +(^ | ^ - 1 4 + * - 4 6 + 5 3 |
| 2 | +(^ | 2 ^ - 1 4 + * - 4 6 + 5 3 |
| FIN | desapilar ^, + | + ^ 2 - 1 4 * - 4 6 + 5 3 |
Lista enlazada
P | P.INFO | P.LIGA_ADEL. | P.LIGA_ATRAS 390 | 175 | NULL | 854 854 | 290 | 390 | 564 564 | 390 | 854 | 125 125 | 480 | 564 | 340 340 | 564 | 125 | NULL |
Q | Q.INFO | Q.LIGA_ADEL. | Q.LIGA_ATRAS 854 | 290 | 390 | NULL 564 | 390 | 854 | NULL 125 | 480 | 564 | NULL 340 | 564 | 125 | NULL |
Respuestas a las preguntas de la Parte 2:
Imprimir 390.LIGA_ATRAS
El nodo 390 está al principio de la lista y su
LIGA_ATRASapunta a 854.→ Respuesta: 854
Imprimir 340.LIGA_ADELANTE
El nodo 340 está al final de la lista y su
LIGA_ADELANTEapunta a 125.→ Respuesta: 125
Imprimir 125.LIGA_ADELANTE
El nodo 125 apunta a 854 a través de su
LIGA_ADELANTE.→ Respuesta: 854
Imprimir 854.INFO
Según la tabla de información, 854 tiene como valor 290.
→ Respuesta: 290
Imprimir 390.LIGA_ADELANTE
El nodo 390 está al principio de la lista y su
LIGA_ADELANTEapunta a 854.→ Respuesta: 854
[390 | 175] ⇄ [854 | 290] ⇄ [125 | 480] ⇄ [340 | 564]