• <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>
            隨筆-145  評論-173  文章-70  trackbacks-0
            #include<stdio.h>

            int Insert_sort(int *p,int length)
            {
                int i,j,key;
                for(i=1;i<=(length-1);i++)
                {
                   if(*(p+i)<*(p+i-1))
                   {
                       key=*(p+i);
                       *(p+i)=*(p+i-1);
                       for(j=i-1;j>=0 &&key<*(p+j);--j)
                       {
                           *(p+j)=*(p+j-1);
                       }
                       *(p+j+1)=key;
                   }
                }

                return 0;
            }

            int main()
            {
                int a[10]={0,4,1,9,5,7,2,3,6,8};
                int i;
                int *p=&a[0];
                Insert_sort(p,10);
                for(i=0;i<10;i++)
                {
                    printf("%d ",a[i]);
                }
            }


            通過指針調用的形式來改變原來數組中的值,這樣就可以了。而每一個數組元素都可以用指針加位移量來確定

            #include<stdio.h>
            void main()
            {
                
            int i,j;
                
            //a[0]為哨兵,所以它的值隨便,但是注意要排序的是后面的幾個,而且長度也是后面的幾個。
                int a[11]={0,1,2,4,9,0,3,8,6,7,5};
                
            //插入排序
                for(i=2;i<=10;++i)
                
            {
                   
            if(a[i]<a[i-1])
                   
            {
                       a[
            0]=a[i];        //已經保存了a[i],所以下面就不必擔心被沖掉。
                       a[i]=a[i-1];
                       
            for(j=i-2;a[0]<a[j];--j)
                       
            {
                           a[j
            +1]=a[j];
                       }

                       a[j
            +1]=a[0];
                   }


                }

                
            for(i=1;i<11;i++)              //從a[1]開始輸出,這樣才消除了哨兵。
                {
                    printf(
            "%d ",a[i]);
                }

            }



            注意真正的排序部分是從a[
            1]開始的,還有長度length不是數組的長度,而是實際要排序的長度,這里把a[i]沖掉的步驟很好,而且沒有影響,因為已經保存下來了。

            --------------------《數據結構         嚴蔚敏版》


             1#include<stdio.h>
             2void main()
             3{
             4    int a[10]={0,4,1,9,5,7,2,3,6,8};
             5    int key,i,j;
             6    for(i=1;i<=9;i++)
             7    {
             8        if(a[i]<a[i-1])
             9        {
            10            key=a[i];
            11            a[i]=a[i-1];
            12            for(j=i-1;j>=0 && key<a[j];--j)
            13            {
            14                a[j]=a[j-1];
            15            }

            16           a[j+1]=key;
            17        }

            18    }

            19         for(i=0;i<10;i++)
            20         {
            21             printf("%d ",a[i]);
            22         }

            23}

            24
            posted on 2009-11-27 21:29 deercoder 閱讀(355) 評論(0)  編輯 收藏 引用 所屬分類: 數據結構和算法分析
            久久99精品久久久久久9蜜桃| 91精品国产色综久久| 国产福利电影一区二区三区,免费久久久久久久精 | 久久99中文字幕久久| 99久久精品毛片免费播放| 精品久久久久久中文字幕| 精品视频久久久久| 中文字幕人妻色偷偷久久| 久久精品国产91久久综合麻豆自制 | 天天影视色香欲综合久久| 久久av无码专区亚洲av桃花岛| 四虎国产精品免费久久5151 | 99热精品久久只有精品| 久久久久久久久久久| 中文字幕久久欲求不满| 99久久99久久精品国产片果冻| 精品久久久久久亚洲| 亚洲中文字幕无码久久综合网| 国产精品成人无码久久久久久 | 无码人妻精品一区二区三区久久久| 亚洲国产成人久久精品动漫| 久久精品国产清自在天天线 | 色噜噜狠狠先锋影音久久| 久久久久无码精品国产不卡| 污污内射久久一区二区欧美日韩| 国产精品久久国产精品99盘| 欧美亚洲国产精品久久| 青青青青久久精品国产h久久精品五福影院1421 | 日本久久久精品中文字幕| 久久精品无码午夜福利理论片| 国产香蕉久久精品综合网| 久久伊人亚洲AV无码网站| 国产—久久香蕉国产线看观看| 精品国产福利久久久| 久久免费小视频| 国产69精品久久久久9999| 国产精品青草久久久久福利99 | 久久国产欧美日韩精品免费| 久久亚洲天堂| 狠狠色丁香久久婷婷综合_中 | 中文字幕乱码人妻无码久久|