Sie sind auf Seite 1von 26

Open Class Regular

Estructuras estáticas 1: Arreglos


(Semana 1)

Prof. Dante Arias Torres


Contenido

•Objetivos
•Introducción
•Desarrollo
• Arreglos
• Algoritmos de ordenamiento
• Algoritmos de búsqueda
• Preguntas
•Conclusiones
•Evaluación de la clase
Objetivo:

Entender como se pueden implementar métodos de


ordenamiento y búsqueda en C# con estructuras de datos
estáticas (arreglos)
INTRODUCCIÓN
Introducción

•¿Qué es un arreglo?
DESARROLLO DEL TEMA
¿Qué es un arreglo?
Como implementar un arreglo en C#
using System;
class DeclareArraysSample
{
public static void Main()
{
// Single-dimensional array
int[] numbers = new int[5];

// Multidimensional array
string[,] names = new string[5,4];

// Array-of-arrays (jagged array)


byte[][] scores = new byte[5][];

// Create the jagged array


for (int i = 0; i < scores.Length; i++)
{
scores[i] = new byte[i+3];
}

// Print length of each row


for (int i = 0; i < scores.Length; i++)
{
Console.WriteLine("Length of row {0} is {1}", i, scores[i].Length);
}
}
}
Pregunta para ganar puntos extras

1.-¿Qué es un arreglo?

Subirla en el apartado de puntos


extras del curso
Donde puedo ejecutar mi programa?
Ejecutando mi programa con arreglos
Ordenamiento por inserción con arreglos
using System;
public class directa
{
public static void Main()
{
int[] numeros={34,56,76,87,90,1};
int i,j,min,auxiliar;
for (i=0; i<numeros.Length-1; i++)
{
Ordenamiento
min=i;
con arreglos for (j=i+1; j<numeros.Length; j++)
(Ejemplo de código) if (numeros[j] < numeros[min])
{
auxiliar=numeros[j];
numeros[j]=numeros[min];
numeros[min]=auxiliar;
}
foreach (int pantalla in numeros)
{
Console.Write(pantalla);
Console.WriteLine();
}
Pregunta para ganar puntos extras

2.-¿Explica el algoritmo de
ordenamiento en tus propias palabras ?

Subirla en el apartado de puntos extras


del curso
Búsqueda en C# con arreglos

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BusquedaBinaria
{
class Busqueda
{
private int[] vector;
public void Cargar()
{
Console.WriteLine("Busqueda Binaria");
Console.WriteLine("Ingrese 10 Elementos");
string linea;
vector = new int[10];
for (int f = 0; f< vector.Length; f++)
{
Console.Write("Ingrese elemento " + (f + 1) + ": ");
linea = Console.ReadLine();
vector[f] = int.Parse(linea);
}
}
Búsqueda en C# con arreglos
public void busqueda(int num)
{
int l = 0, h = 9;
int m = 0;
bool found = false;
while (l <= h && found == false)
{
m = (l + h) / 2;
if (vector[m] == num)
found = true;
if (vector[m] > num)
h = m - 1;
else
l = m + 1;
}
if (found == false)
{ Console.Write("\nEl elemento {0} no esta en el arreglo", num); }
else
{ Console.Write("\nEl elemento {0} esta en la posicion: {1}", num, m + 1); }
}
public void Imprimir()
{
for (int f = 0; f< vector.Length; f++)
{
Console.Write(vector[f] + " ");
}
}
Búsqueda en C# con arreglos

static void Main(string[] args)


{
Busqueda pv = new Busqueda();
pv.Cargar();
pv.Imprimir();
Console.Write("\n\nElemento a buscar: ");
int num = int.Parse(Console.ReadLine());
pv.busqueda(num);
Console.ReadKey();

}
}
}
Codificando mi programa
Ejecutando mi programa
Pregunta para ganar puntos extras

3.-¿Por qué es útil el algoritmo de


búsqueda binario?

Subirla en el apartado de puntos


extras del curso
CONCLUSIONES
Conclusiones

•En esta sesión se analizaron:


• Arreglos
• Algoritmos de búsqueda
• Algoritmos de ordenamiento
Preguntas ?
Recuerden evaluar la clase
Liga para descargar la presentación

https://1drv.ms/p/s!AspP7TyBx7h1hcR
xiRS3j0iJb6hCaw
Gracias y hasta la próxima

Das könnte Ihnen auch gefallen