• <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>

            加文

            在這個世界上取得成就的人,都努力去尋找他們想要的機會,如果找不到機會,他們便自己創(chuàng)造機會。 -- 蕭伯納
            隨筆 - 14, 文章 - 56, 評論 - 1, 引用 - 0
            數(shù)據(jù)加載中……

            基數(shù)排序LSD算法

            #include <stdio.h>
            #include 
            <string.h>
            /* 獲取輸入數(shù)字的索引值,dec指定數(shù)字的位數(shù),3代表百位數(shù),order指定需要獲取哪一位的索引,1代表個位,2代表十位,3代表百位 */
            int get_index(int num, int dec, int order)
            {
                
            int i, j, n;
                
            int index;
                
            int div;
                
            /* 根據(jù)位數(shù),循環(huán)減去不需要的高位數(shù)字 */
                
            for (i=dec; i>order; i--
                {
                    n 
            = 1;
                    
            for (j=0; j<dec-1; j++)
                        n 
            *= 10;
                    div 
            = num/n;
                    num 
            -= div * n;
                    dec
            --;
                }
                
            /* 獲得對應(yīng)位數(shù)的整數(shù) */
                n 
            = 1;
                
            for (i=0; i<order-1; i++)
                    n 
            *= 10;
                
            /* 獲取index */
                index 
            = num / n;
                
            return index;
            }
            /* 進(jìn)行基數(shù)排序 */
            void radix_sort(int array[], int len, int dec, int order)
            {
                
            int i, j;
                
            int index;     /* 排序索引 */
                
            int tmp[100];  /* 臨時數(shù)組,用來保存待排序的中間結(jié)果 */
                
            int num[10];   /* 保存索引值的數(shù)組 */
                memset(num, 
            010*sizeof(int));  /* 數(shù)組初始清零 */
                memset(tmp, 
            0, len*sizeof(int)); /* 數(shù)組初始清零 */
                
            if (dec < order) /* 最高位排序完成后返回 */
                    
            return;
                
            for (i=0; i<len; i++) {
                    index 
            = get_index(array[i], dec, order);  /* 獲取索引值 */
                    num[index]
            ++;  /* 對應(yīng)位加一 */
                }
                
            for (i=1; i<10; i++)
                    num[i] 
            += num[i-1]; /* 調(diào)整索引數(shù)組 */
                
            for (i=len-1; i>=0; i--) {
                    index 
            = get_index(array[i], dec, order);  /* 從數(shù)組尾開始依次獲得各個數(shù)字的索引 */
                j 
            = --num[index];  /* 根據(jù)索引計算該數(shù)字在按位排序之后在數(shù)組中的位置 */
                tmp[j] 
            = array[i]; /* 數(shù)字放入臨時數(shù)組 */
                }
                
            for (i=0; i<len; i++)
                    array[i] 
            = tmp[i];  /* 從臨時數(shù)組復(fù)制到原數(shù)組 */
                
            /* 繼續(xù)按高一位的數(shù)字大小進(jìn)行排序 */
                radix_sort(array, len, dec, order
            +1);
            }
            int main(int argc, char *argv[])

            {
                
            int i;
                
            int a[11= {101,258976515337359701916494303175};
                radix_sort(a, 
            1133);
                
            for (i=0; i<11; i++)
                    printf(
            "%d  ", a[i]);
                printf(
            "\n");
                getchar();
                
            return 0;
            }

            posted on 2011-10-25 15:32 chxzwj 閱讀(822) 評論(0)  編輯 收藏 引用 所屬分類: 常用算法

            狠狠色丁香婷综合久久| 久久99国产精品一区二区| 精品国产一区二区三区久久蜜臀| 免费观看成人久久网免费观看| 国产高清国内精品福利99久久| 色诱久久av| 久久精品国产免费观看| 香蕉久久影院| 国产V亚洲V天堂无码久久久| 精品久久久久久国产三级| 亚洲国产欧洲综合997久久| 青青草国产成人久久91网| 伊人久久大香线蕉综合Av| 国产成人99久久亚洲综合精品| 亚洲国产欧洲综合997久久| 久久国产免费| 国内精品人妻无码久久久影院| 人妻丰满?V无码久久不卡| 青青热久久综合网伊人| 久久精品99久久香蕉国产色戒| 综合久久久久久中文字幕亚洲国产国产综合一区首| 人妻无码精品久久亚瑟影视| 国内精品久久久久久久亚洲| 99久久人妻无码精品系列蜜桃| 99精品久久久久久久婷婷| 亚洲国产成人精品女人久久久 | 久久国产精品成人免费| 亚洲人成网站999久久久综合| AA级片免费看视频久久| 99久久久精品| 久久精品视频免费| 久久九九亚洲精品| 久久国产精品成人免费| 精品久久香蕉国产线看观看亚洲| 无码久久精品国产亚洲Av影片| 国产精品久久久久蜜芽| 久久亚洲国产最新网站| 国产成人无码精品久久久性色| 久久精品久久久久观看99水蜜桃| 久久中文字幕人妻丝袜| 狠狠色综合网站久久久久久久高清|