顺序表查找的优化
Posted YuRi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了顺序表查找的优化相关的知识,希望对你有一定的参考价值。
来源于书本,这个小技巧还是记录一下,其实它所表达的意思就是,for循环和while循环的一点微妙区别。
在for循环中,比如:
for(i=1;i<=n;i++) { if(a[i]==key) return i; }
比较、自增、加上边界的判定,一共需3步,而while循环,则只需要两步,减去了边界判定的一步。
while(a[i]!=key) { i--; }
int search(int a[],int n,int key) { int i; a[0]=key;/*设置a[0]为关键字值,称为“哨兵"*/ i=n;/*循环从尾部开始*/ while(a[i]!=key) { i--; } return i; }
以上是关于顺序表查找的优化的主要内容,如果未能解决你的问题,请参考以下文章