int SeqSearch(T a[],const T& x,int n) { if(n<1) return -1; if(a[n-1]==x) return n-1; return SeqSearch(a,x,n-1); }
/**************產生樂透號碼**************/ void generate_lotto(int* spec_num, int* arr, int arr_index) { int i, generate_num; srand((unsigned) time(NULL)); for (i = 0; i < arr_index; i++) { generate_num = rand() % 42 + 1; while (SeqSearch(generate_num, arr, i + 1) != -1) { /* 是否重複 */ generate_num = rand() % 42 + 1; } arr[i] = generate_num; } generate_num = rand() % 42 + 1; while (SeqSearch(generate_num, arr, i) != -1) { /* 特別號是否與其他號碼重複 */ generate_num = rand() % 42 + 1; } *spec_num = generate_num; }
int main(int argc,char** argv) { int a[10000]; int x; int i; cout<<"Please input the number to be searched:"; cout<<endl; cin>>x; for(i=0;i<10000;i++) a[i]=i; SeqSearch(a,x,10000); return 0; }
void main() { SeqList R; int n=10,i; KeyType k=5; int a[]={3,6,2,10,1,8,5,7,4,9}; for (i=0;i<n;i++) //建立顺序表 R[i].key=a[i]; printf("关键字序列:"); for (i=0;i<n;i++) printf("%d ",R[i].key); printf("\n"); printf("查找%d所比较的关键字:\n\t",k); if ((i=SeqSearch(R,n,k))!=-1) printf("\n元素%d的位置是%d\n",k,i); else printf("\n元素%d不在表中\n",k); printf("\n"); }
void main(){ SSTable S1={{123,23,34,6,8,355,32,67},8}; SSTable S2={{11,23,32,35,39,41,45,67},8}; SSTable S3={{6,12,23,16,21,26,41,32,37,35,48,46,49,47,52,61,59,76,68,72},20}; IndexTable T={{23,0},{41,5},{52,10},{76,15}}; DataType x={32}; int pos; if((pos=SeqSearch(S1,x))!=0) printf("顺序表的查找:关键字32在主表中的位置是:%2d\n",pos); else printf("查找失败!\n"); if((pos=BinarySearch(S2,x))!=0) printf("折半查找:关键字32在主表中的位置是:%2d\n",pos); else printf("查找失败!\n"); if((pos=SeqIndexSearch(S3,T,4,x))!=0) printf("索引顺序表的查找:关键字32在主表中的位置是:%2d\n",pos); else printf("查找失败!\n"); system("pause"); }
int main(int argc, char const *argv[]) { int arr[] = {1,2,3,4,5,7,9}; int res; int len; len = sizeof(arr)/sizeof(arr[0]); res = SeqSearch(arr,len,5); printf("-----SeqSearch----\n"); if (0 == res) { printf("Not find\n"); } else printf("Find, location:%d\n", res+1); printf("-----BinSearch-----\n"); res = BinSearch(arr,len,3); if (0 == res) { printf("Not find\n"); } else printf("Find, location:%d\n", res+1); return 0; }