int main() { int arraysize = 10 * 1000; int *parray = (int*)malloc(sizeof(int) * arraysize); // 生成随机数组 //gen_randomarray(parray,arraysize); gen_unirandom_array(parray,arraysize); // 打印数组 //print_array(parray,arraysize); // sort array sort_shell(parray,arraysize); //保存需要查找的数据 srand(time(0)); int findindex = rand() % arraysize; int findval = parray[findindex]; int findedindex = -1; findedindex = find_seq(parray,arraysize,findval); printf("find_seq :finedindex:%d,realindex:%d\n",findedindex,findindex); //print_array(parray,arraysize); findedindex = find_binary(parray,arraysize,findval); printf("find_binary :finedindex:%d,realindex:%d\n",findedindex,findindex); return 0; }
int main( int argc, char* argv[] ) { extern char* optarg; int ich; char fa_in[ MAX_FN_LEN + 1 ] = {'\0'}; char target_id[ MAX_ID_LEN + 1 ] = {'\0'}; Genome* genome; Seq* seq; Fa_Src* fa_src; while( (ich=getopt( argc, argv, "f:I:" ) ) != -1 ) { switch(ich) { case 'f' : strcpy( fa_in, optarg ); break; case 'I' : strcpy( target_id, optarg ); break; default : help(); } } if ( (strlen( fa_in ) == 0) || (strlen( target_id ) == 0) ) { help(); } genome = init_genome(); fa_src = init_fasta_src( fa_in ); seq = get_next_fa( fa_src, genome ); while( seq != NULL ) { if ( DEBUG ) { printf( "Saw %s length %lu\n", seq->id, seq->len ); } seq = get_next_fa( fa_src, genome ); } close_fasta_src( fa_src ); qsort( genome->seqs, genome->n_seqs, sizeof(Seq*), chr_cmp ); seq = find_seq( genome, target_id ); if ( seq == NULL ) { printf( "Could not find %s in genome.\n", target_id ); } else { printf( "Found %s in genome. Length = %lu\n", target_id, seq->len ); } exit( 0 ); }