在这里插入代码片
@TOC
时间由短到长
/#include
#include<stdio.h>
#include<stdlib.h>
#define N 1000010
using namespace std;
int n;
int a[N];
void fine(int key)
{
int l=0,r=n-1,mid;
while(l<=r)
{
mid=(l+r)/2;
if(a[mid]>key)
r=mid-1;
else if(a[mid]<key)
l=mid+1;
else
{
cout<<mid+1<<endl;
return ;
}
}
printf(“No Found!\n”);
}
int main()
{
cin>>n;
for(int i=0; i<n; i++)
cin>>a[i];
int m;
cin>>m;
while(m–)
{
int x;
cin>>x;
fine(x);
}
return 0;
}/
/*#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int data[20010];
int last;
}S;
void creat(S *head)//建立链表
{
int i;
for(i=0; ilast;i++)
scanf("%d", &head->data[i]);
}
int search(S *head, int left, int right, int key)
{
int mid;
if(left <= right)
{
mid=(left+right)/2;
if(key==head->data[mid])
{
return mid+1;
}
else if(key>head->data[mid])
{
return search(head, mid+1, right, key);
}
else
{
return search(head, left, mid-1, key);
}
}
return 0;
}
int main()
{
S *head;
int m, key, k;
head = (S )malloc(sizeof(S));
scanf("%d", &head->last);
creat(head);
scanf("%d", &m);
while(m–)
{
scanf("%d", &key);
k = search(head, 0, head->last, key);
if(k)
printf("%d\n", k);
else
printf(“No Found!\n”);
}
return 0;
}/
#include<string.h>
#include<stdio.h>
int main()
{
int n,m,k,t,i,a[100010];
scanf("%d",&n);
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
while(m–)
{
t=0;
scanf("%d",&k);
for(i=0; i<n; i++)
{
if(a[i]k)
{
printf("%d\n",i+1);
break;
}
else
{
if(tn-1)
printf(“No Found!\n”);
t++;
}
}
}
return 0;
}