Advertisement
Guest User

Untitled

a guest
Sep 19th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. int bSearch(int * ptr, int size, int X){
  2. int firstElementOfInterval=0;
  3. int secondElementOfInterval=size;
  4. int middleOfInterval=0;
  5. int pivot=0;
  6. size=secondElementOfInterval-firstElementOfInterval;
  7. try {
  8. if (ptr[size-1]>=X) throw 1;
  9. }
  10. catch (int a) {
  11. std::cout<<"error "<<a<<" the required item does not exist! return 0"<<std::endl;
  12. return 0;
  13. }
  14. while(1){
  15. size=secondElementOfInterval-firstElementOfInterval;
  16. middleOfInterval=firstElementOfInterval+(size/2);
  17. pivot=ptr[middleOfInterval];
  18. if (pivot < X)
  19. secondElementOfInterval=middleOfInterval;
  20. if (pivot>=X){
  21. if (ptr[middleOfInterval+1]<X) {
  22. return ptr[middleOfInterval+1];
  23. }
  24. else {
  25. firstElementOfInterval=middleOfInterval;
  26. }
  27. }
  28. }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement