如何在vc里用冒泡排序法写排序算法,然后用二分查找法搜索。
代码该如何实现?

解决方案 »

  1.   

    int arr[ARR_SIZE];
    int i, j, nTemp;
    // 选择最大/小值排序
    for(i=0; i<ARR_SIZE; i++)
    {
    for(j=i+1; j<ARR_SIZE; j++)
    {
    if(arr[i]>arr[j])
    {
    nTemp = arr[i];
    arr[i] = arr[j];
    arr[j] = nTemp;
    }
    }
    }// 查找
    int nTarget; // 查找目标
    int nStart, nEnd, nMid;
    nStart = 0;
    nEnd = ARR_SIZE-1;
    int bFound = 0;
    while(nStart<nEnd)
    {
    nMid = (nStart+nEnd)/2;
    if(arr[nMid]<nTarget)
    nEnd = nMid;
    else if(arr[nMid]>nTarget)
    nStart = nMid;
    else
    {
    bFound = TRUE;
    break;
    }
    }// nMid 就是,如果 bFound 是 TRUE
    ============================================================================
    提问题时标题要简明扼要地说明问题内容,切忌使用"急","求救"之类不能说明问题的标题
    http://alphasun.betajin.com/   遇到问题可以给我发消息,给我发信息时请附带原帖地址
    DocWizard C++程序文档自动生成工具 | Wave OpenGL | HttpProxy | AjaxParser词法分析
      

  2.   

    呵呵,炮炮真是高手,PFPF  :)