Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. //Author : Amethyst
  2. #include <iostream> //จะใช้ input output
  3. #include <vector> // จะใช้ vector
  4. #include <algorithm> // จะใช้ sort function
  5. using namespace std;
  6.  
  7. std::vector<int> v; // ประกาศ vector ที่เก็บ int ชื่อว่า v
  8.  
  9. int main(){
  10. int n;
  11. cin >> n;
  12. for(int i = 0, val; i != n; ++i){
  13. cin >> val;
  14. v.push_back(val); // เอาค่า val ไปยัดใส่ vector v
  15. }
  16. sort(v.begin(), v.end()); // sort ตั้งแต่เริ่มจนจบ (begin -> end)
  17. for(auto itr = v.begin(); itr < v.end(); ++itr)
  18. cout << "idx " << itr-v.begin() << " value " << *itr << "\n";
  19. int l = 0, r = n; // กรอบการค้นหา อยู่ใน [l, r)
  20. int key; // ตัวที่จะค้นหา
  21. cin >> key;
  22. while(l<r){ // binary search
  23. int m = (l+r)/2; // mid = (left+right)/2;
  24. if(v[m] > key) r = m; // ค่ามากไปก็ขยับกรอบมาด้านซ้าย
  25. //bsearch(l, m-1, key);
  26. else if(v[m] < key) l = m; // ค่าน้อยไปก็ขยับกรอบมาด้านขวา
  27. //bsearch(m+1, r, key)
  28. else if(v[m] == key){ //เจอค่าที่ตรงกันแล้ว
  29. printf("found\n");
  30. break; //พอเจอแล้วก็หยุด loop
  31. }
  32. }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement