06.05.2013 Views

CONTENIDO DE LA LECCIÓN 18

CONTENIDO DE LA LECCIÓN 18

CONTENIDO DE LA LECCIÓN 18

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

MIGUEL Á. TOLEDO MARTÍNEZ<br />

Es posible utilizar un arreglo de clase char para almacenar una cadena de caracteres.<br />

Los elementos de un arreglo pueden inicializarse por declaración, por asignación o por<br />

entrada.<br />

Si hay menos inicializadores que elementos en el arreglo, los elementos restantes se<br />

inicializan a cero.<br />

C++ no evita que se haga referencia a elementos que estén fuera de los límites de un<br />

arreglo.<br />

Es posible inicializar un arreglo de caracteres por medio de una literal de cadena.<br />

Todas las cadenas terminan con el carácter nulo (‘\0’)<br />

Los arreglos de caracteres se pueden inicializar con constantes de carácter en una lista<br />

de iniciación.<br />

Es posible acceder a los caracteres de una cadena almacenada en un arreglo por medio<br />

de la notación de índices.<br />

Para pasar un arreglo a una función, hay que pasar su nombre. Para pasar un solo elemento<br />

del arreglo a una función, simplemente hay que pasar el nombre del arreglo seguido por el<br />

índice (entre corchetes cuadrados) de dicho elemento.<br />

Los arreglos se pasan a las funciones simulando una llamada por referencia; las<br />

funciones llamadas pueden modificar los valores de los elementos de los arreglos originales.<br />

El nombre del arreglo es la dirección de su primer elemento. Debido a que se pasa la dirección<br />

de inicio del arreglo, la función llamada sabe exactamente dónde está almacenado dicho<br />

arreglo.<br />

Para recibir un arreglo como argumento, la lista de parámetros de la función debe<br />

especificar que se recibirá un arreglo. No es necesario el tamaño del arreglo entre los<br />

corchetes.<br />

Cuando una función recibe un arreglo como parámetro, la función debe especificar la<br />

clase del arreglo y su nombre, pero no el tamaño del arreglo.<br />

C++ tiene el calificador de clase const, que permite a los programas evitar la modificación,<br />

en una función, de los valores de un arreglo. Cuando un parámetro de arreglo está precedido<br />

por el calificador const, los elementos del arreglo se vuelven constantes en el cuerpo de la<br />

función y cualquier intento por modificarlos provoca un error de sintaxis.<br />

La búsqueda y ordenación son operaciones comunes realizadas sobre arreglos.<br />

Los arreglos pueden ordenarse mediante la técnica de ordenamiento de burbuja. Se<br />

realizan varias pasadas al arreglo. Con cada pasada se comparan los pares consecutivos de los<br />

elementos. Si un par está ordenado (o sus valores son idénticos), se deja tal cual. Si está fuera<br />

de orden, se intercambian. El ordenamiento de la burbuja es aceptable en los arreglos<br />

pequeños, pero en los mayores es ineficiente en comparación con otros algoritmos de<br />

ordenamiento más complejos.<br />

La búsqueda secuencial es una búsqueda iterativa que busca un valor dado en un arreglo,<br />

comparando en forma secuencial el valor con los elementos del arreglo, empezando con el<br />

primer elemento del arreglo, hasta que se encuentra el valor en el arreglo o hasta que se<br />

alcanza el final del arreglo.<br />

La búsqueda lineal compara todos los elementos de un arreglo con la clave de búsqueda. Si el<br />

arreglo no está en ningún orden en particular, existe la misma probabilidad de que el valor se<br />

encuentre en el primer elemento como que esté en el último. Por lo tanto, en promedio, el<br />

programa tendrá que comparar la clave de búsqueda con la mitad de los elementos del arreglo.<br />

El método de búsqueda lineal funciona bien con los arreglos pequeños y es aceptable si se<br />

trata de arreglos desordenados.<br />

Una búsqueda binaria puede ser iterativa o recursiva. Una búsqueda binaria divide el arreglo<br />

en mitades, dirigiéndose a sí misma hacia la mitad en donde es muy probable que se encuentre<br />

el valor.<br />

La búsqueda binaria requiere que el arreglo esté ordenado, mientras que la búsqueda<br />

secuencial no tiene este requerimiento.<br />

ARREGLOS, APUNTADORES Y ESTRUCTURAS – <strong>LECCIÓN</strong> <strong>18</strong> <strong>18</strong>-67

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!