本来这道题目我用了哈希查找,但是最后发现超时了,所以就再次用快排来做喽,很简单
代码很容易就看明白
View Code
1 #include<stdio.h> 2 #include<stdlib.h> 3 //快排的库函数,不过如果对快排掌握的不是很熟练,建议自己写,联系一下,毕竟不是所有的程序,都可以调用快排 4 int cmp ( const void *a , const void *b ) 5 { 6 return *(int *)a - *(int *)b; 7 } 8 int main() 9 { 10 int m, n, f[10000], T = 1; 11 while(scanf("%d%d",&m,&n) && (m||n)) 12 { 13 int i, k; 14 for(i = 0;i < m; i++) 15 scanf("%d",&f[i]); 16 //快排调用 17 qsort(f,m,sizeof(f[0]),cmp); 18 printf("CASE# %d:\n",T++); 19 while(n--) 20 { 21 scanf("%d",&k); 22 for(i = 0;i < m; i++) 23 { 24 if(f[i] == k) 25 { 26 printf("%d found at %d\n",k,i+1); 27 break; 28 } 29 } 30 if(i == m) 31 printf("%d not found\n",k); 32 } 33 } 34 return 0; 35 }