數據結構實驗之查找六:順序查找

Problem Description

在一個給定的無序序列裏,查找與給定關鍵字相同的元素,若存在則輸出找到的元素在序列中的位序和需要進行的比較次數,不存在則輸出"No",序列位序從1到n,要求查找從最後一個元素開始,序列中無重複元素。

Input

連續多組數據輸入,每組輸入數據第一行首先輸入兩個整數n(n <= 1000000)和k,n是數組長度,k是待查找的關鍵字,然後連續輸入n個整數,數據間以空格間隔。

Output

若存在則輸出元素在序列中的位序和比較次數,不存在則輸出No。

Example Input

5 9
4 6 8 9 13
7 4
-1 3 2 5 4 6 9 
20 90
4 6 8 9 13 17 51 52 54 59 62 66 76 78 80 85 88 17 20 21

Example Output

4 2
5 3
No
#include<stdio.h>
#include<stdlib.h>
int sq[1000000];
int main()
{
    int n,k,f;
    while(scanf("%d%d",&n,&k)!=EOF)
    {
        f = -1;
        for(int i=0;i < n;i++)
        {
            scanf("%d",&sq[i]);
            if(k==sq[i])
            {
                f = i;
            }
        }
        f==-1?printf("No\n"):printf("%d %d\n",f+1,n-f);
    }
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章