2. Binar qidiruv algaritimini misolda tushuntring .
#include
using namespace std;
int binarySearch(int array[], int start, int end, int key) {
if(start <= end) {
int mid = (start + (end - start) /2);
if(array[mid] == key)
return mid;
if(array[mid] > key)
return binarySearch(array, start, mid-1, key);
return binarySearch(array, mid+1, end, key);
}
return -1;
}
int main() {
int n, searchKey, loc;
cout << "Elementlar sonini kiriting: ";
cin >> n;
int arr[n]; //n o'lchamdagi massiv yarating
cout << "Elementlarni kiriting: " << endl;
for(int i = 0; i< n; i++) {
cin >> arr[i];
}
cout << "qidirilayotgan elementni kiriting: ";
cin >> searchKey;
if((loc = binarySearch(arr, 0, n, searchKey)) >= 0)
cout << "Element topildi: " << loc << endl;
else
cout << "Element ro'yxatda topilmadi." << endl;
}
3. Massiv elementlaridan royxat xosil qilish.
#include
#include
using namespace std;
void dispList(list L)
{
list::iterator l_iter; // iteratorni ro'yxatga e'lon qilish
for (l_iter = L.begin(); l_iter != L.end(); l_iter++)
cout<< *l_iter<< " ";
cout<
}
int main()
{
list list1;
int arr[]={1, 2, 3, 4, 5};
dispList(list1);
list1.assign(arr+0, arr+5);
cout<< "-------------------------------------"<
cout<<" Ro'yxat elementlari soni: "<
cout<< "-------------------------------------"<
cout<<" Ro'yxat elementlari: " ;
dispList(list1);
cout<< "-------------------------------------"<
return 0;
}
Dostları ilə paylaş: |