我试图找到一个最好的方式找到一个成员 我目前正在使用线性搜索(我认为)女巫我做了类似的事情
void srchbook(book* books){
char tempstring[maxsize];
int i;
printf("enter the id of the book you want to find:\n");
gets(tempstring);
for(i=0;i<bookcount;i++){
if (!strcmp(tempstring,books[i].id)){
printf("the book you wanted is: %s\n",books[i].title);
printf("author: %s\n",books[i].author);
printf("year of release: %s\n",books[i].year);
printf("pages: %s\n",books[i].pages);
printf("Genre: %s\n",books[i].subject);
break;
}
}
if(i >= bookcount){
printf("no result :(\n");
}
printf("issue another command\n");
pick(books);
}
无论如何我可以提高效率吗? 我在想二进制搜索,但我不确定它会更有效率。 如果我递归搜索它会产生什么影响吗?