C言語 〜遂次探索〜

遂次探索

#include<stdio.h>
#define NUMBER 5
#define FAILED -1

int search(const int vc[],int key,int no){
        int i = 0;

        while(1){
                if(i==no){
                        return (FAILED);
                }
                if(vc[i] == key){
                        return i;
                }
                i++;
        }
}

int main(void){
        int i,ky,idx;
        int vx[NUMBER];

        for(i=0;i<NUMBER;i++){
                printf("vx[%d]:",i);
                scanf("%d",&vx[i]);
        }
        printf("探す値:");
        scanf("%d",&ky);
        idx = search(vx,ky,NUMBER);

        if(idx == FAILED){
                puts("探索に失敗しました。");
        }else{
                printf("%d%d番目にあります。\n",ky,idx+1);
        }
        return 0;
}

配列の先頭から順になぞっていき、目的とするものと同じ値をもつ要素をみつける一連の手続きを遂次探索という。