Arreglos y Cadenas de Carcateres

download Arreglos y Cadenas de Carcateres

of 19

Transcript of Arreglos y Cadenas de Carcateres

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    1/19

    Prof. Mireya Morales

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    2/19

    ` Introduccin a las estructuras de datos` Definicin de arreglos` Operaciones con arreglos

    ` Ejemplos` Ordenamiento de arreglosArreglos multidimensionales o matrices` Cadenas de Caracteres

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    3/19

    Datos Simples

    Datos Estructurados

    Estndar

    Definidos por

    El programador

    Estticos

    Dinmicos

    Entero, real

    Carcterlgico

    Subrango

    Enumerado

    Arreglo (vector/Matriz)archivos

    Listarbol

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    4/19

    Un arreglo o vector se define como unconjunto finito y ordenado de elementos deun mismo tipo.

    A [1] A [I] A [N]

    A

    1 2 3 . . . I . . . N

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    5/19

    ` Un vector de una dimensin denominado Notas,contiene N elementos.

    ` El ndice de un elemento [1,2n] designa laposicin en el orden del vector y cada elemento

    es referenciado por medio de este.` El valor mnimo de un vector se denomina limite

    inferior y el valor mximo permitido es el limitesuperior.

    ` Los ndices pueden ser expresiones, constantes

    o variables.

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    6/19

    ` Asignacin

    ` Lectura/escritura

    ` Acceso secuencial

    ` Aadir, borrar o insertar un elemento` Ordenamientos

    ` Bsqueda

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    7/19

    ` int A[10] = {0}

    ` int B[5] = {5}

    ` int C[5] = {1, 2, 15, 30, 25}

    ` int D[5] = {1,2,3,4,5,6} Error alcompilar

    ` int E[] = {2,4,6,8,10}

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    8/19

    ` Enteros[1]=Enteros[2] + Enteros[3]

    ` Enteros[2]=

    (Enteros[2]

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    9/19

    14.014.0 12.012.0 8.08.0 7.07.0 6.416.41 5.235.23 6.156.15 7.257.25

    Escribir X[1] Visualiza el valor de X[1] esto es 14.0X[4] 45 Almacena el valor 45 en X[4]SUMA X[1] + X[3] Asigna el valor 22.0 en SUMASUMA SUMA + X[4] Agrega al valor de SUMA 67.0X[6] X[1] + X[2] El nuevo elemento de X[6] es 26.0

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    10/19

    Algoritmo Asignar_elemento_vectorVar i, vector[5]:entero

    iniciopara(i=0; i

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    11/19

    ` Los elementos almacenados en un arreglo

    no siempre estn ordenados.

    ` Para realizar manipulacin de los datos es

    conveniente ordenarlos ascendente o

    descendentemente, segn convenga.

    ` Existen varios mtodos de ordenamiento,

    en este caso se estudiar el de burbuja.

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    12/19

    ` La tcnica consiste en pasar varias veces por elarreglo.

    ` Los valores ms pequeos burbujeangradualmente hacia la parte alta del arreglo y

    los ms grandes se van hacia el fondo delarreglo.` Con cada paso se comparan pares sucesivos

    de elementos, si uno de los pares est en ordenascendente o son iguales se queda como tal, si

    estn descendente se intercambian los valoresen el arreglo.

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    13/19

    Algoritmo orden_arreglo

    Constante tam_arrg=10Var i, aux, num_pasos, a[tam_arrg]:Entero

    Inicio

    para (num_pasos=0;num_pasos

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    14/19

    ` En muchas ocasiones se hace necesario ubicar unvalor clave en grandes cantidades de datos, por ello

    es importante conocer al menos una tcnica de

    bsqueda en un arreglo. En este caso se estudiar la

    denominada lineal.

    ` La bsqueda lineal consiste en comparar todos los

    elementos del arreglo con la clave de bsqueda.

    ` Debido a que el arreglo no est enningn orden

    existe la misma posibilidad de que el elemento este al

    principio al final del arreglo.

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    15/19

    A[0][0]A[0][0] A[0][1]A[0][1] A[0][2]A[0][2] A[0][3]A[0][3]

    A[1][0]A[1][0] A[1][1]A[1][1] A[1][2]A[1][2] A[1][3]A[1][3]

    A[2][0]A[2][0] A[2][1]A[2][1] A[2][2]A[2][2] A[2][3]A[2][3]

    Subindice de ColumnaSubindice de FilaNombre de la matriz

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    16/19

    Algoritmo suma_elemento_matrizVar fila, col, total, matriz[3][4]: entero

    inicio

    para(fila=0; fila

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    17/19

    ` Un carcter es un tipo de dato simple que

    representa un nmero, una letra o cualquier

    caracter especial disponible en el teclado.

    Cuando se asigna una carcter a unavariable tipo char, este siempre se debe

    escribir entre apostrofos .

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    18/19

    ` Una cadena de caracteres es un tipo de datos

    estructurado compuesto por caracteres.

    ` En el lenguaje C, una cadena de caracteres se

    define como un arreglo de caracteres quetermina con el carcternulo \0

  • 8/6/2019 Arreglos y Cadenas de Carcateres

    19/19

    ` Una cadena de caracteres se puede definir como: Un arreglo char cadena[ ]= Hola

    ` En esta expresin se reserva espacio para almacenar

    los siguientes caracteres:

    ` H o l a \0