Sobirjonov O'tkirbek
Download 88.66 Kb.
|
dotnet
- Bu sahifa navigatsiya:
- Array.BinarySearch()
Array.IndexOf()
Aytaylik, siz massivdagi biror elementning qaysi indeksda turishini bilmoqchisiz. Bu vazifani bajarish uchun bittagina metodni chaqirib indeksni olishingiz mumkin. Bu metodning nomi Array.IndexOf(). Kiruvchi parametr sifatida uning qavsi ichiga e’lon qilingan bir o’lchovli massiv nomi va qidirilayotgan element yoziladi. Agar bu element massivda mavjud bo’lsa uning massivdagi indeksi (tartib raqami) ni, aks holda -1 ni qaytaradi. Agar xohlasangiz elementni butunlay massivdan emas, uning bir qismidan ham qidirishingiz mumkin. Eslatib o’taman, massivda indekslash 0 dan boshlanadi. Keling, ko’p gapirmay shularni kodda ko’ramiz: using System; namespace NewApplication { class Program { public static void Main(string[] args) { int [] MyArray={0,4,3,2,6,1,8,9,11}; Console.Write(Array.IndexOf(MyArray,2)+"; "); // 2 ga teng element indeksini qaytaradi Console.Write(Array.IndexOf(MyArray,10,3)+"; "); /* 10 ga teng elementni 3-indeksdan boshlab oxirigacha qidiradi */ Console.Write(Array.IndexOf(MyArray,6,1,4)); /* 6 ga teng bo'lgan elementni 1-indeksdan boshlab 4 ta elementgacha bo'lgan oraliqda qidiradi */ Console.ReadKey(); } } } output: 3; -1; 4 Array.BinarySearch() Ana endi sizlar bilan o’sha mashxur binar qidiruv algoritmi haqida gaplashamiz. Agar massivda shu algoritm yordamida elementni qidirmoqchi bo’lsangiz, buning ham yo’li oson. Array sinfida buning uchun ham tayyor standart metod mavjud. Array.BinarySearch() metodi ham huddi Array.IndexOf() metodiga o’xshaydi. Agar kiritilgan element massivda mavjud bo’lsa shu element indeksini, aks holda biror manfiy sonni qaytaradi. Unda yana bitta metodning nima keragi bor, deb o’ylayotgan bo’lsangiz javob beraman: binar qidiruvning asosiy ustunligi uning ishlash tezligi yuqoriligida. IndexOf() metodi bilan kerakli elementni topish uchun ko’pi bilan O(n) vaqt sarflaysiz (n - elementlar soni), BinarySearch() da esa O(log2(n)) vaqt. Bu farqni tasavvur qilish uchun bir misol: 1024 ta elementga ega massivdan kerakli elementni topish uchun IndexOf() metodi O(1024) vaqt, BinarySearch O(10) vaqt sarflaydi. Ya’ni binar qidiruvning ishlash tezligi juda yuqori hamda bu farq elementlari soni ko’p bo’lgan massivlarda yaqqol seziladi. Download 88.66 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling