美文网首页
一点微小的c实现的二分查找

一点微小的c实现的二分查找

作者: 1b64efc60009 | 来源:发表于2016-12-04 00:33 被阅读23次

字符串用strcmp()来比较是坠吼的!
因为c里面字符串的名字只是个指针, 比较指针没有意义嘛.

估计这个函数就是把两个字符串拉出来变成int类型再做比较的.

#include <stdio.h>
int binarySearch(char **argv, char *searchEntry, int start, int end);

int main(int argc, char **argv) {
    char searchEntry[] = "initiallize";

    printf("enter the search entry:\n");
    scanf("%s", searchEntry);

    printf( "%s is at %d\n", searchEntry, binarySearch(argv, searchEntry, 1, argc-1));
    return 0;
}


int binarySearch(char **argv, char *searchEntry, int start, int end) {
    int mid;
    mid = (int)((start + end) / 2);

    printf("start:%d end:%d mid:%d\n", start, end, mid);
    printf("argv[mid]is %s, searchEntry is %s\n\n", argv[mid], searchEntry);

    if (end >= start) {
            if (strcmp(searchEntry,argv[mid]) == 0) {
                return mid;

            }else if (strcmp(searchEntry,argv[mid]) > 0) {
                printf(">\n");
                return binarySearch(argv, searchEntry, mid+1, end);

            }else if (strcmp(searchEntry,argv[mid]) < 0) {
                printf("<\n");
                return binarySearch(argv, searchEntry, start, mid-1);
            }

        }else {
            return -1;
    }
}     

相关文章

  • 算法之二分查找

    排序算法 二分查找 用于有序元素列表的查找性能: Python实现: C#实现

  • 一点微小的c实现的二分查找

    字符串用strcmp()来比较是坠吼的!因为c里面字符串的名字只是个指针, 比较指针没有意义嘛. 估计这个函数就是...

  • 简单算法

    冒泡排序: while 实现的二分查找: 递归实现二分查找:

  • 算法之二分查找

    二分查找 二分查找是著名、高效并有应用广泛的查找算法。 二分常规实现 1.循环实现 下面我用python语言实现循...

  • 分治算法(swift二分法排序递归实现)

    二分查找 1、二分查找(Binary Search) 2、二分查找的基本思想 swift算法实现

  • 基本算法

    冒泡排序、插入排序、选择排序、快速排序、二分查找(Objective-C实现)

  • 二分查找

    网上找到的图片便于理解 二分查找递归实现与循环实现代码: /** 二分查找 1.二分查找又称折半查找,它是一种效率...

  • 二分查找及其变种

    一、 二分查找 如无特殊说明,本文中所有用到的待查数组均为从小到大顺序。 1.1 无重复元素的二分查找 实现C++...

  • 二分查找

    数据顺序存储,有序序列 O(logn) 递归实现二分查找: 非递归实现二分查找:

  • 算法 二分查找 (C++)

    二分查找的实现:

网友评论

      本文标题:一点微小的c实现的二分查找

      本文链接:https://www.haomeiwen.com/subject/flacmttx.html