3.Arreglos

September 2, 2017 | Author: Luis Miguel Velasquez | Category: Array Data Structure, Matrix (Mathematics), Algorithms And Data Structures, Data, Physics & Mathematics
Share Embed Donate


Short Description

Download 3.Arreglos...

Description

3 Arreglos Concepto Un arreglo es un conjunto de elementos del mismo tipo agrupados en una sola variable. Cada posición de almacenamiento en un arreglo es llamada un elemento del arreglo. Para ingresar a un elemento en particular, utilizamos un índice. Existen arreglos unidimensionales, bidimensionales y tridimensionales. Su uso más común es en la implementación de cadenas de caracteres. Recuerda que en C no existen variables de tipo cadena por lo cual se utiliza un arreglo de caracteres. Físicamente, un arreglo es un conjunto de localidades de memoria contiguas donde la dirección más baja corresponde al primer elemento y la dirección más alta al último. En un arreglo de n elementos, éstos ocuparan desde la casilla 0 hasta la n-1. Por si mismo, el nombre del arreglo apunta a la dirección del primer elemento del arreglo. Un arreglo se puede visualizar de la siguiente forma:

En este caso tenemos un arreglo que contiene datos de tipo entero (int), el numero de datos es 4, nótese que tenemos un subíndice para acceder a cada posición del arreglo, además, un arreglo siempre comienza por el subíndice o posición 0.

Arreglos Unidimensionales 1

Un arreglo de una sola dimensión es un arreglo que tiene solamente un subíndice. Un subíndice es un número encerrado en corchetes a continuación del nombre del arreglo. Este número puede identificar el número de elementos individuales en el arreglo. La forma general para definir un arreglo de sólo una dimensión es la siguiente: Tipo_de_dato nombre_variable [tamaño] tipo_de_dato: se refiere al tipo de dato de cada elemento del arreglo y tamaño es la cantidad de elementos agrupados en la misma variable. Ejemplo float x [10]; int y [10];

Inicialización de un Arreglo Existen diferentes formas de inicializar un arreglo. Por omisión: Cuando tenemos un arreglo estático utilizamos este método, la forma de hacerlo es la siguiente: char letras[10]; Sin tamaño específico: Podemos crear un arreglo sin decirle el tamaño, siempre y cuando le asignemos a este los elementos que lo conforman, así: char frase[]="arreglo sin longitud explícita"; lo cual nos crea un arreglo del tamaño suficiente para guardar la frase. Definición explícita: En este caso creamos un arreglo de tamaño específico y a la vez le asignamos los elementos que lo conforman: int numeros[3]={100,23,90}; Otro ejemplo es: int dígitos[5]={'0','1','2','3','4','5','6','7','8','9'};

Acceso a los Elementos del Arreglo

2

Para acceder a un elemento del arreglo utilizamos un subíndice, el cual determina la posición que ocupa dicho elemento dentro del arreglo. La sintaxis es: nombre_arreglo[subíndice]; Supongamos que tenemos un arreglo: int numeros[3]={2,800,67}; Sí queremos acceder al elemento 1 el cual contiene el valor 800 entonces la instrucción es numeros[1]; Tamaño (En Bytes) de un Arreglo Para determinar el tamaño en bytes de un arreglo utilizamos la función sizeof asi: sizeof(nombre_arreglo);

Arreglos Bidimensionales Un arreglo bidimensional es un arreglo de arreglos unidimensionales. Constituyen la forma más simple de los arreglos multidimensionales. Un arreglo bidimensional tiene dos subíndices.}

Declaración de un Arreglo Bidimensional Su forma general de declaración es: tipo_dato variable[primer índice][segundo índice]; El primer índice corresponde a la filas y el segundo a las columnas.

Arreglos n-dimensionales Cómo su nombre lo indica son arreglos de varias dimensiones, es decir utilizan varios subíndices para acceder a los elementos, se podrían ver como una matriz:

3

Como se puede ver este es una arreglo bidimensional, la declaración es similar a un arreglo normal, sólo que en este caso utilizamos otro par de corchetes, por ser bidimensional. Si tiene de tres pares de corchetes en adelante el arreglo es multidimensional. En el dibujo si queremos acceder al elemento 20 y cambiar su valor por 1000 declaramos: int A[1][2]=1000;

Declaración de un Arreglo n-dimensional Su forma general de declaración es: tipo_dato variable [long ind 1][longindice 2]...[long indice N] donde tipo_dato es el tipo de dato de los elementos del arreglo y long ind 1, long ind 2...long ind N es la longitud de cada dimensión del arreglo. Este tipo de arreglos no se utiliza muy frecuentemente debido al gran espacio en memoria que ocupan. Otra desventaja es que el acceso a un arreglo multidimensional dura más tiempo que el requerido por uno del tipo unidimensional.

Métodos de Ordenación Su finalidad es organizar ciertos datos (normalmente arrays o ficheros) en un orden creciente o decreciente mediante una regla prefijada (numérica, alfabética...). Atendiendo al tipo de elemento que se quiera ordenar puede ser: 4

Ordenación interna: Los datos se encuentran en memoria (ya sean arrays, listas, etc) y son de acceso aleatorio o directo (se puede acceder a un determinado campo sin pasar por los anteriores). Ordenación externa: Los datos están en un dispositivo de almacenamiento externo (ficheros) y su ordenación es más lenta que la interna.

Ordenación Interna Los métodos de ordenación interna se aplican principalmente a Arreglos unidimensionales. Los principales algoritmos de ordenación interna son:

Selección Este método consiste en buscar el elemento más pequeño del arreglo y ponerlo en primera posición; luego, entre los restantes, se busca el elemento más pequeño y se coloca en segundo lugar, y así sucesivamente hasta colocar el último elemento. Por ejemplo, si tenemos el arreglo {40,21,4,9,10,35}, los pasos a seguir son: {4,21,40,9,10,35}
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF