Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Alkioiden Etsiminen | Taulukoiden Haku ja Suodatus
C#-Taulukot

Alkioiden Etsiminen

Pyyhkäise näyttääksesi valikon

Taulukoiden kanssa työskennellessä on usein tarpeen selvittää, esiintyykö tietty arvo tai missä se sijaitsee. Alkioiden etsiminen taulukosta on yleinen toimenpide ohjelmoinnissa, erityisesti kun halutaan paikantaa tietoa, validoida syötettä tai suorittaa muita toimintoja arvon olemassaolon tai sijainnin perusteella. Esimerkiksi voidaan tarkistaa, onko käyttäjätunnus jo käytössä, tai etsiä tietyn pistemäärän sijainti listasta. Tehokkaiden hakumenetelmien ymmärtäminen taulukoissa on olennainen taito tietokokoelmien kanssa työskenneltäessä.

Program.cs

Program.cs

1234567891011121314151617181920212223242526272829
using System; namespace ConsoleApp { public class Program { public static void Main() { int[] numbers = { 10, 25, 30, 47, 58 }; int target = 30; int foundIndex = -1; for (int i = 0; i < numbers.Length; i++) { if (numbers[i] == target) { foundIndex = i; break; } } if (foundIndex != -1) { Console.WriteLine("Number " + target + " found at index " + foundIndex + "."); } } } }

Tietyn arvon etsimiseksi taulukosta käytetään silmukkaa, joka käy läpi jokaisen alkion yksitellen. Silmukan sisällä if-lause tarkistaa, vastaako nykyinen alkio etsittävää arvoa. Jos vastaavuus löytyy, voidaan tallentaa indeksi ja yleensä lopettaa etsintä, koska tarvittava tieto on löydetty. Tämä menetelmä on yksinkertainen ja toimii kaiken kokoisille ja tyyppisille taulukoille.

Program.cs

Program.cs

123456789101112131415161718192021222324252627282930313233
using System; namespace ConsoleApp { public class Program { public static void Main() { int[] numbers = { 11, 22, 33, 44, 55 }; int target = 99; int foundIndex = -1; for (int i = 0; i < numbers.Length; i++) { if (numbers[i] == target) { foundIndex = i; break; } } if (foundIndex != -1) { Console.WriteLine("Number " + target + " found at index " + foundIndex + "."); } else { Console.WriteLine("Number " + target + " not found in the array."); } } } }
Note
Määritelmä

Lineaarinen haku on menetelmä arvon etsimiseen taulukosta tarkistamalla jokainen alkio järjestyksessä alusta loppuun, kunnes arvo löytyy tai taulukon loppu saavutetaan.

1. Mikä on lineaarisen haun aikavaativuus taulukossa?

2. Miten voit selvittää, esiintyykö arvo taulukossa?

3. Mitä ohjelmasi tulisi tehdä, jos etsittyä arvoa ei löydy?

question mark

Mikä on lineaarisen haun aikavaativuus taulukossa?

Valitse oikea vastaus

question mark

Miten voit selvittää, esiintyykö arvo taulukossa?

Valitse oikea vastaus

question mark

Mitä ohjelmasi tulisi tehdä, jos etsittyä arvoa ei löydy?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 1

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 2. Luku 1
some-alt