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

            xyjzsh

            插入排序vs希爾排序

            什么是插入排序?
            在插入排序法中,將檢查數組中的每個元素,將它插入排序中的元素的適當位置,當最后一個元素插入到它適當的位置時,這個數組就排好序了。例如,

            假如我們要對一個有5個元素的數組進行升序排列,假設第一個元素的值被假定為已排好序了,那么我們將第2個元素插入到已排序好的數組中的適當位置上,使得數組應該是排序好的。依次類推,將第3個插入到到已排序好的數組中的適當位置,使得插入后數組仍然是排序好的,。。。。。。
            下面是一個插入排序的Demo:
            int tarArr[]={10,1,35,12,7,17,66,6,56,26};
            int size = sizeof(tarArr)/sizeof(tarArr[0]);

            void insertSort(void)
            {
                
            int i=0,j=0;
                
            for(i=1;i<size;i++)
                
            {
                    
            int nextValue = tarArr[i];
                    
            for(j=i-1;j>=0;j--)
                    
            {
                        
            if(nextValue<tarArr[j])
                            tarArr[j
            +1]=tarArr[j];
                        
            else
                        
            {
                            
            break;
                        }

                    }

                    tarArr[j
            +1]=nextValue;
                }

            }

            下面來介紹一下希爾排序:
            希爾排序就是將要排序的數據先分成如果組,對每一組實行插入排序。
            代碼如下:
            int tarArr[]={10,1,35,12,7,17,66,6,56,26};
            int size = sizeof(tarArr)/sizeof(tarArr[0]);

            void shellSort(void)
            {
                
            int gap =0,i=0,j=0;
                
            for(gap = size/2;gap>0;gap/=2)
                
            {
                    
            for(i=gap;i<size;i+=gap)
                    
            {
                        
            int nextValue = tarArr[i];
                        
            for(j=i-gap;j>=0;j-=gap)
                        
            {
                            
            if(nextValue<tarArr[j])
                                tarArr[j
            +gap] = tarArr[j];
                            
            else
                            
            {
                                
            break;
                            }


                        }

                        tarArr[j
            +gap] = nextValue;
                    }

                }

            }

            posted on 2011-02-23 17:44 呆人 閱讀(360) 評論(0)  編輯 收藏 引用 所屬分類: 算法

            <2012年2月>
            2930311234
            567891011
            12131415161718
            19202122232425
            26272829123
            45678910

            導航

            統計

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            国产免费久久精品99re丫y| 少妇精品久久久一区二区三区| 久久99精品久久久久久野外| 久久久久国产一级毛片高清板| 日韩欧美亚洲综合久久影院Ds | 久久国产热这里只有精品| 亚洲а∨天堂久久精品9966| 丰满少妇高潮惨叫久久久| 久久这里的只有是精品23| 欧美亚洲国产精品久久蜜芽| 久久精品中文字幕一区| 四虎影视久久久免费观看| 精品精品国产自在久久高清| 亚洲精品乱码久久久久久蜜桃图片| 国产精品无码久久久久| 久久精品国产99国产精品澳门| 亚洲精品乱码久久久久久自慰| 久久青青草原精品国产不卡| 久久中文字幕一区二区| 久久99精品久久久久婷婷| 亚洲精品乱码久久久久久按摩 | 久久99精品久久久久久| 国产69精品久久久久APP下载| 品成人欧美大片久久国产欧美...| 久久精品人人做人人妻人人玩 | 国产精品久久永久免费| 99精品国产在热久久无毒不卡| 久久香蕉国产线看观看精品yw| 狠狠色婷婷久久一区二区| 国产69精品久久久久9999APGF| 亚洲精品无码久久一线| 色欲久久久天天天综合网精品| 日韩乱码人妻无码中文字幕久久 | 国产欧美久久一区二区| …久久精品99久久香蕉国产| 国产精品久久久久天天影视| 久久99国产精一区二区三区| 精品久久久久久久久久中文字幕| 久久99国产精品成人欧美| 久久亚洲精品无码aⅴ大香| 亚洲精品乱码久久久久久蜜桃图片 |