• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            付翔的專欄
            在鄙視中成長 記錄成長的點滴
            posts - 106,  comments - 32,  trackbacks - 0
            # include<stdio.h>
            # include
            <stdlib.h>
            # include
            <iostream>
            # define DEBUG 
            1
            const int N  = 100;
            /* 適合輸入范圍比較小的 確切的說應該是小于10萬的數據量  才適用 */
            int count_qsort(int input_array[],int n)
            {
                
            // int result_array[n] ; 這樣分配不對 
                int *result_array,*temp_array;
                
            //int result_array[N] = {0},temp_array[N] = {0};
                result_array = (int *)malloc(sizeof(int)*n);
                temp_array 
            =  (int *)malloc(sizeof(int)*N);
                
            int i,j;
                
                memset(result_array,
            0,sizeof(result_array)*n);//memset(result_array,0,sizeof(result_array)) 很習慣的ACM的寫法 但是因為
                
            //ACN經常是開靜態 或者全局數組 sizeof 可以得到全部的大小 但是 這里result 是指針的話 就不一樣了 得到的只是一個指針的大小
                
            // 即四個字節 很久沒有寫代碼 一寫就出錯 TMD 
                memset(temp_array,0,sizeof(temp_array)*N);
                
            for(i = 0 ; i < n; i ++)
                {
                    j 
            = input_array[i];
                    temp_array[j] 
            ++;
                }
                
            for(i = 1; i < N; i ++)/*得到 某一值的最大位置*/
                    temp_array[i] 
            += temp_array[i-1];

                
            for(i = n-1; i >= 0 ; i -- )
                {
                    
            if(temp_array[input_array[i]])
                    {
                        result_array[ temp_array[ input_array[i]] 
            -1= input_array[i];
                        temp_array[input_array[i]] 
            --;
                    }
                }

                
            for(i = 0 ; i < n; i ++)
                    input_array[i] 
            = result_array[i];
                
            return 0;
            }
            int main()
            {
                
            int data[N];
                
            int num,i;
            #ifdef DEBUG
                scanf(
            "%d",&num);
                
            for(i = 0; i < num; i ++)
                    scanf(
            "%d",&data[i]);
                count_qsort(data,num);
                
            for(i = 0 ; i < num ;i ++)
                    printf(
            "%d ",data[i]);
            #endif
                
            return 0;
            }
            posted on 2010-09-25 00:16 付翔 閱讀(181) 評論(0)  編輯 收藏 引用 所屬分類: ACM 數據結構linux 及 c相關 排序

            <2010年9月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            常用鏈接

            留言簿(2)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            CSDN - 我的blog地址

            博客

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            欧美牲交A欧牲交aⅴ久久| 7777久久久国产精品消防器材| 伊人久久大香线蕉精品| 亚洲国产婷婷香蕉久久久久久| 99精品国产免费久久久久久下载| 久久久一本精品99久久精品88| 成人午夜精品久久久久久久小说| 久久国产精品无| 99国内精品久久久久久久| 久久香综合精品久久伊人| 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲精品无码久久久久久| 免费国产99久久久香蕉| 97精品依人久久久大香线蕉97| 久久99国产精品一区二区| 久久无码专区国产精品发布| 狠狠人妻久久久久久综合| 久久久久免费精品国产| 亚洲午夜久久久久久久久电影网| 久久www免费人成精品香蕉| 99久久成人国产精品免费| 无码人妻久久一区二区三区蜜桃| 99久久99久久精品国产片果冻| 中文字幕无码免费久久| 日本精品久久久久久久久免费| 久久99中文字幕久久| 国内精品九九久久久精品| 久久亚洲日韩精品一区二区三区| 99久久国产亚洲综合精品| 亚洲精品无码久久毛片| 欧美激情精品久久久久久| 久久久WWW免费人成精品| 国产成人久久精品二区三区| 久久免费视频观看| 亚洲综合婷婷久久| 国产精品欧美久久久久无广告| 国产免费久久久久久无码| 精品久久香蕉国产线看观看亚洲| 狠狠色婷婷综合天天久久丁香| 久久久久久狠狠丁香| 久久久久亚洲爆乳少妇无|