顺序查找算法


#include <iostream> #include <cstdlib> using namespace std; #define MAXL 20 typedef struct data { int d[MAXL]; int len; }arr; int searchKey(arr *a,int key) { int i; a->d[0]=key; for(i=a->len-1;i>0;i--) { if(a->d[i]==key) { return i; } } } int main() { arr *a; a=(arr*)malloc(sizeof(struct data)); int k,key,p; cout<<"please input the len of the arr:"; cin>>a->len; cout<<"init arr:"<<endl; for(k=1;k<a->len;k++) { cin>>a->d[k]; } getchar(); cout<<"input the key:"; cin>>key; p=searchKey(a,key); if(p==0) cout<<"未找到关键字"<<endl; else cout<<"the pos of the key is "<<p<<endl; return 0; }

这个比较简单,我认为标记的作用,就是提示吧,不会让数组越界。

posted @ 2013-05-16 09:53  xshang  阅读(185)  评论(0编辑  收藏  举报