1.顺序查找法

  1. // 顺序查找,a为要查找的数组,n为要查找的数组的长度,key为要查找的关键字
  2. int Sq_Search(int *a, int n, int key)
  3. {
  4. int i;
  5. for( i=1; i <= n; i++ )
  6. {
  7. if( a[i] == key )
  8. {
  9. return i;
  10. }
  11. }
  12. return 0;
  13. }
  1. // 顺序查找优化方案,a为要查找的数组,n为要查找的数组的长度,key为要查找的关键字
  2. int Sq_Search(int *a, int n, int key)
  3. {
  4. int i = n;
  5. a[0] = key
  6. while( a[i] != key )
  7. {
  8. i--;
  9. }
  10. return i;
  11. }

2.插值查找(按比例查找)

3.斐波那契查找(黄金分割法查找)