Programming Concept

Cadenas

Operaciones básicas con cadenas, comparaciones y tokenización.

Capítulo 8 (pp. 177–182) de Computer Science I.

Temas

SecciónPáginaContenido
Operaciones Básicas177Longitud, indexación, concatenación, subcadenas.
Comparaciones178Comparación lexicográfica; igualdad vs identidad.
Tokenización179Dividir cadenas en tokens.

Ideas Clave

  • La comparación de cadenas no es == en todos los lenguajes — un tropiezo recurrente, hecho concreto en C (strcmp, arrays de caracteres) y Java (.equals() vs ==).
  • La tokenización sustenta el análisis de entradas y la E/S de archivos.
  • En C, las cadenas son arrays de caracteres terminados en null — no hay tipo de cadena nativo.

Ejemplos

Invertir una cadena

resultado ← ""
para i desde longitud(s) - 1 bajando hasta 0:
  resultado ← resultado + s[i]

Tokenizar

partes ← separar("a,b,c", ",")   // ["a", "b", "c"]

Comparar lexicográficamente

si comparar("apple", "banana") < 0:
  imprimir "apple comes first"

Nunca confíes en == para la igualdad de contenido en todos los lenguajes.

En Java

String r = new StringBuilder(s).reverse().toString();
String[] parts = "a,b,c".split(",");        // ["a", "b", "c"]
if ("apple".compareTo("banana") < 0)        // usa compareTo/equals, no ==
    System.out.println("apple comes first");

== compara referencias; .equals() / .compareTo() comparan contenido.

Citas

[1] Computer Science I, Cap. 8, pp. 177–182.