什么是字符串数组最有效的搜索算法?

时间:2017-04-11 09:35:16

标签: c

我试图找到一个最好的方式找到一个成员 我目前正在使用线性搜索(我认为)女巫我做了类似的事情

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);
}

无论如何我可以提高效率吗? 我在想二进制搜索,但我不确定它会更有效率。 如果我递归搜索它会产生什么影响吗?

0 个答案:

没有答案