Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
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 );
}