Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

So basically I tried constructing a recursive function to implement binary search on a sorted array and although I am well aware of the basic logic that flows behind it, the problem comes in when I only have to pass three arguments to the function which are the array, its size and the item to be searched. I know that I have to call the function on the upper half of the array if the item lies in the later section of the array and vice versa but how do I do that? do I make two new arrays inside and how do I do that exactly? I am confused really

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
159 views
Welcome To Ask or Share your Answers For Others

1 Answer

if you are doing this in C/C++ the key is to realize that arrays are passed as pointers. So, each time you call the function recursively, you specify which portion of the array by using pointer arithmetic and a judiciously chosen size.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share

548k questions

547k answers

4 comments

86.3k users

...