Mavzu: Mavzu: Qidiruv va uning vazifasi




Download 0,85 Mb.
bet3/4
Sana23.11.2023
Hajmi0,85 Mb.
#103778
1   2   3   4
Bog'liq
malumotlar tuzilma
11-sinf-kimyo-javoblari, tafakkur, Mavzu Bioinformatika va biomexanika ma’lumotlar bazasini tashki-fayllar.org, Qatorlar ----, Malumotlar bazasi, nazorat-savollari

.


#include
int linearSearch(int arr[], int size, int target) {
for (int i = 0; i < size; ++i) {
if (arr[i] == target) {
return i; // Maqsad qiymat topilganda, indeksni qaytar
}
}
return -1; // Maqsad qiymat topilmagan holatda, -1 qaytar
}
int main() {
int arr[] = {2, 4, 7, 1, 9, 6};
int size = sizeof(arr) / sizeof(arr[0]); // Massiv hajmi
int target;
std::cout<<"Qaysi sonni qidirmoqchisiz = "; std::cin>>target;
int result = linearSearch(arr, size, target);
if (result != -1) {
std::cout << target << " soni massivda " << result << " - indeksda joylashgan.\n";
} else {
std::cout << target << " soni massivda topilmadi.\n";
}
return 0;
}

.


Bu misolda, linearSearch funksiyasi massiv, massiv hajmi (size), va qidirilayotgan qiymat (target)ni qabul qilib, linearni qidiruvni bajaradi va natijani chiqaradi. Natija -1 bo'lsa, qiymat topilmagan degan ma'noni bildiradi. Chiqish esa 7 qiymati massivda 2-indegda joylashgan degan xabarni ko'rsatadi.
#include
#include
int binarySearch(const std::vector& arr, int target) {
int low = 0;
int high = arr.size() - 1;
while (low <= high) {
int mid = low + (high - low) / 2;
if (arr[mid] == target) {
return mid; // Maqsad qiymat topilganda, indeksni qaytar
} else if (arr[mid] < target) {
low = mid + 1; // O'rta element maqsad qiymatdan kichik, yuqoridan davom etamiz
} else {
high = mid - 1; // O'rta element maqsad qiymatdan katta, pastidan davom etamiz
}
}
return -1; // Maqsad qiymat topilmagan holatda, -1 qaytar
}

.


int main() {
std::vector arr = {1, 2, 4, 6, 7, 9, 11};
int target;
std::cout<<"Qidiradigan son kiriting = "; std::cin>>target;
int result = binarySearch(arr, target);
if (result != -1) {
std::cout << target << " soni ro'yxatda " << result << " - indeksida joylashgan.\n";
} else {
std::cout << target << " soni ro'yxatda topilmadi.\n";
}
return 0;
}
Bu dastur o'lchamli bir ro'yxatda (std::vector) binary search algoritmini ishlatadi. binarySearch funksiyasi ro'yxatni va qidirilayotgan qiymatni qabul qilib, qidiruvni bajaradi va natijani chiqaradi. Misolda berilgan ro'yxatda 7 qiymati bor va u 4-indegda joylashgan, shuning uchun chiqishda "7 qiymati ro'yxatda 4 indeksta joylashgan." degan chiqishni ko'rsatadi.
O’tish yoki o’tqazishlar orqali qidiruv (Jump search)

Download 0,85 Mb.
1   2   3   4




Download 0,85 Mb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Mavzu: Mavzu: Qidiruv va uning vazifasi

Download 0,85 Mb.