新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 快速排序與二分查找程序

        快速排序與二分查找程序

        作者: 時間:2016-12-01 來源:網絡 收藏
        快排和二分查找的原理就不說了,網上一搜一大堆,這里主要是自己編寫的快排、二分與系統自帶的快排、二分代碼,一般面試都會出冒泡,所以冒泡是才是最重要的。系統自帶的快排函數在編寫代碼的時候用著挺方便的,代碼如下:
        // 快速排序
        #include
        void q_sort(int arr[],int low,int high);
        int main()
        {
        intarr[10] = {0};
        inti = 0;
        printf("輸入 10 個整數:");
        for(i= 0;i < 10;i++)
        scanf("%d",&arr[i]);
        q_sort(arr,0,9);
        for(i= 0;i < 10;i++)
        printf("%d",arr[i]);
        printf("");
        return0;
        }
        void q_sort(int arr[],int low,int high)
        {
        inti = 0,j = 0; //i-低 j-高
        intbase = 0; // 基數
        inttemp = 0;
        if(low>= high) // 遞歸終止
        return;
        i= low;
        j= high;
        base= arr[low];
        while(i< j){
        while(arr[j]> base)// 高->低
        j--;
        temp= arr[j];
        arr[j]= arr[i];
        arr[i]= temp;
        while(arr[i]< base)// 低->高
        i++;
        temp= arr[j];
        arr[j]= arr[i];
        arr[i]= temp;
        if(i
        j--;
        }
        q_sort(arr,low,i-1);
        q_sort(arr,i+1,high);
        }
        /***************************************
        auth:肖喬
        func:二分查找
        ***************************************/
        #include
        #define N 5
        int main(){
        inti,j,a[N],t;
        inthig,low,mid,k;
        printf("請輸入%d個整數:",N);
        for(j=0;j<=N-1;j++){
        scanf("%d",&a[j]);
        }
        for(i=0;i
        for(j=0;j
        if(a[j]>a[j+1]){
        t=a[j];a[j]=a[j+1];a[j+1]=t;
        }
        printf("從小到大排列:");
        for(j=0;j<=N-1;j++)
        printf("%d",a[j]);
        printf("");
        #if 1
        printf("請輸入要查找的數:");
        scanf("%d",&k);
        low=0;hig=N-1;
        while(low<=hig){
        mid=(low+hig)/2;
        if(a[mid]==k){
        printf("%d在數組中第%d位",a[mid],mid+1);
        break;
        }
        elseif(a[mid]
        low=mid+1;
        else
        hig=mid-1;
        }
        #endif
        return0;
        }

        上一頁 1 2 下一頁

        關鍵詞: 快速排序二分查

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 惠东县| 芦山县| 黎城县| 吉隆县| 古田县| 大安市| 临夏县| 虹口区| 麻栗坡县| 平遥县| 永年县| 远安县| 华安县| 武威市| 威信县| 灵武市| 金堂县| 饶平县| 南阳市| 拉萨市| 临沭县| 马鞍山市| 德兴市| 同江市| 鹿泉市| 仲巴县| 涟水县| 寻甸| 西平县| 天镇县| 闵行区| 郧西县| 海原县| 运城市| 寿光市| 博爱县| 邻水| 仁布县| 尚义县| 孟连| 沙湾县|