Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- int main()
- {
- const int minValue{ 0 };
- const int maxValue{ 99 };
- const int arrSize{ 25 };
- int arr[arrSize]{};
- int tmp;
- //srand(time(0));
- for (int i{ 0 }; i < arrSize; ++i)
- {
- arr[i] = ((rand() % (maxValue - 1)) + minValue);
- }
- for (int i{ 0 }; i < arrSize; ++i) { std::cout << arr[i] << ' '; }; std::cout << '\n';
- for (int head{ 0 }; head < arrSize; ++head)
- {
- //std::cout << "Head: " << head << '\n';
- for (int tail{ arrSize - 1 }; tail > head; --tail)
- {
- if (arr[tail] < arr[tail - 1])
- {
- tmp = arr[tail - 1];
- arr[tail - 1] = arr[tail];
- arr[tail] = tmp;
- //for (int i{ 0 }; i < arrSize; ++i) { std::cout << arr[i] << ' '; }; std::cout << "head: " << head << '\n';
- }
- }
- }
- for (int i{ 0 }; i < arrSize; ++i) { std::cout << arr[i] << ' '; }; std::cout << '\n';
- int key{ 5 };
- std::cout << "Enter search key...\n";
- std::cin >> key;
- int left{ 0 };
- int right{ arrSize - 1 };
- int mid{0};
- while (true)
- {
- mid = (left + right) / 2;
- if (key == arr[mid]) { std::cout << "Found! :)"; break; };
- if (key < arr[mid]) { right = mid - 1; std::cout << "left side\n"; }
- if (key > arr[mid]) { left = mid + 1; std::cout << "right side\n"; }
- if (left > right) { std::cout << "NOT Found! :)"; break; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement