gentoo linux, java, software libre y otras hierbas
Nov, 12 2008 - 12:52 pm

Buscar datos dentro de arreglos C# – Método Lineal

En el siguiente ejemplo se muestra cómo realizar búsquedas dentro de un arreglo de manera lineal.

Ejemplo…

busqueda lineal

using System;
using System.Drawing;
using System.Windows.Forms;
namespace BusquedaLineal
{
   public class BusquedaLineal : Form
   {
      private Button botonBuscar;
      private TextBox cajaEntrada;
      private Label labelSalida;
      int[] a = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26,
                  28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50 };
      public BusquedaLineal()
      {
         InitializeComponent();
      }
      private void InitializeComponent()
      {
         this.botonBuscar = new Button();
         this.cajaEntrada = new TextBox();
         this.labelSalida = new Label();
         this.SuspendLayout();
         //
         // botonBuscar
         //
         this.botonBuscar.Location = new System.Drawing.Point(8, 8);
         this.botonBuscar.Name = "botonBuscar";
         this.botonBuscar.TabIndex = 0;
         this.botonBuscar.Text = "Buscar";
         this.botonBuscar.Click += new System.EventHandler(this.botonBuscar_Click);
         //
         // cajaEntrada
         //
         this.cajaEntrada.Location = new System.Drawing.Point(96, 9);
         this.cajaEntrada.Name = "cajaEntrada";
         this.cajaEntrada.Size = new System.Drawing.Size(88, 20);
         this.cajaEntrada.TabIndex = 1;
         this.cajaEntrada.Text = "";
         //
         // labelSalida
         //
         this.labelSalida.Location = new System.Drawing.Point(8, 40);
         this.labelSalida.Name = "labelSalida";
         this.labelSalida.Size = new System.Drawing.Size(184, 23);
         this.labelSalida.TabIndex = 2;
         //
         // BusquedaLineal
         //
         this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
         this.ClientSize = new System.Drawing.Size(200, 69);
         this.Controls.AddRange(new Control[] {
                  this.labelSalida,
                  this.cajaEntrada,
                  this.botonBuscar});
         this.Name = "BusquedaLineal";
         this.Text = "BusquedaLineal";
         this.ResumeLayout(false);
      }
      static void Main()
      {
         Application.Run(new BusquedaLineal());
      }
      private void botonBuscar_Click( object sender,
         System.EventArgs e )
      {
         int datoBuscar = Int32.Parse( cajaEntrada.Text );
         int indiceElemento = BuscarLineal( a, datoBuscar );
         if ( indiceElemento != -1 )
            labelSalida.Text =
               "Encontrado en el indice " + indiceElemento;
         else
            labelSalida.Text = "Valor no encontrado";
      } // fin del metodo botonBuscar_Click
      // buscar valor dentro del array
      public int BuscarLineal( int[] array, int dato )
      {
         for ( int n = 0; n < array.Length; n++ )
         {
            if ( array[ n ] == dato )
               return n;
         }
         return -1;
      } // fin del metodo BusquedaLineal
   }
}

Descargar código fuente

Los ejercicios utilizados en este post están basados en ejemplos del libro C# How to Program de Deitel. Se pone a disposición la descargar del programa original, desarrollado para trabajar sobre Visual Studio de Microsoft en plataformas Windows, y se encuentra en inglés. La versión simplificada está basada en la original, pero sin código basura insertado por Visual Studio, se encuentra en español y ha sido probada sobre Gnu/Linux usando Mono.

6 Comentarios | deja el tuyo

Un enlace entrante

5 Comentarios en “Buscar datos dentro de arreglos C# – Método Lineal”

  1. edgar dice:

    Hermano yo solo tengo una pregunta para ti. como instalast mono que pasos seguiste yo casi me muero en el intento y no pude hacerlo, tengo debian etch como S.O.
    Yo quiero hacerlo para ya no depender mas de Windows pues solo lo uso para programar.

  2. cl4551f13d dice:

    Hola Casidiablo,

    He mirado sus artículos sobre programación, y me parece que falta colocar un tutorial para que los novatos tengan un entorno de desarrollo. un tutorial de como instalar un IDE, puede ser Eclipse, y un compilador que genere aplicaciones para Linux, finalmente explicar como crear paquetes para que nuestros amigos o conocidos los puedan descargar de Internet e instarlos en sus maquinas.

    Suerte, Esta muy bueno su blog.

  3. Cristian dice:

    Tienes toda la razón… de hecho estoy programando un video tutorial del MonoDevelop. Pero ya que lo dices, de Eclipse estaría muy bien.

    Un saludo!

  4. Janneth dice:

    que es this en programacion orientada a objetos

  5. Delbar dice:

    hola me gustaria saber como puedo hacer una consulta en c# para buscar con fechas por ejemplo del 11 de marzo al 16 de marzo y k me lo mande en un datagrid o en crystal report

¡Déjanos tu comentario!