1.搜索例子:
#include<iostream>
using namespace std;
/* 美金币值对应的票面名称,给出币值求票面名称
1, 5, 10, 25, 50
"penny","nickel","dime","quarter","half-dollar"
*/
int search(int key, int arr[], int length)
{
int i;
int ret = -1;
for (i = 0; i < length; i++) {
if (key == arr[i]) {
ret = i;
}
}
return ret;
}
int main(){
int key = 26;
int a[] = { 1,5,10,25,50 };
char *name[] = { "penny","nickel","dime","quarter","half-dollar" };
int j = search(key, a, sizeof(a) / sizeof(a[0]));
if ( j > -1 )
{
printf("%s", name[j]);
}
else {
printf("不存在此面币对应的票面名称!");
}
printf("\n");
system("pause");
return 0;
}
由于分为两个数组存储对cache不友好,故而用结构体对存储结构进行改进(还可以用哈希表)
int a[] = { 1,5,10,25,50 }