顺序查找及其优化

思想

所谓顺序查找,就是挨个把数值与要查找的关键字对比,一直比到最后

int sequential(int* a, int key, int length)
{
    for(int i = 0; i < length; ++i)
    {
        if(a[i] == key)
            return i;
    }
    return 0;
}

每次循环对需要判断i是否小于length,可以设置一个哨兵,大数据量时可以提高性能

int sequential(int* a, int key, int length)
{
    a[0] = key;
    int i = length - 1;
    while(a[i] != key);
    {
        --i;
    }
    return i;
}

猜你喜欢

转载自blog.csdn.net/wzc2608/article/details/79898700