1. 程式人生 > >哨兵查詢法(明解c語言)

哨兵查詢法(明解c語言)

//哨兵法,就是將待查詢的元素加入待查詢的陣列的後面,這樣可以提高效能(在資料量很龐大的時候體現出來)

#include <stdio.h>
#define FAILURE -1
//使用for迴圈的
int searching1(int v[],int key,int n)
{
    int i;
    for(i=0;v[i]!=key;i++)
    {
        ;               //之前沒有怎麼用過空的for迴圈體
    }
    return (i<n)?i:FAILURE;
}
//使用while迴圈的
int searching(int v[],int
key,int n) { int i=0; v[n]=key; while(1) { if(v[i]==key) break; i++; } return (i<n)?i:FAILURE; } int main(void) { int a[7]={1,2,3,5,7,5,2}; printf("%d",searching1(a,3,7)); return (0); }