青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

記錄一些學(xué)習(xí)小事

Work hard

統(tǒng)計(jì)

留言簿

閱讀排行榜

評(píng)論排行榜

總結(jié)的幾個(gè)排序算法

快速排序:
思想 一個(gè)標(biāo)記數(shù)(取數(shù)組最后一個(gè)數(shù))  左邊放比他小的所有數(shù) 右邊放比它都大的數(shù)
這樣分成的兩個(gè)數(shù)組 在進(jìn)行 尾部一個(gè)數(shù)作為標(biāo)記數(shù)作為標(biāo)記分割數(shù)組
一直到分不了為止  自然就排好了續(xù)   用具體數(shù)字分析一下
一個(gè)數(shù)組char data[9]={2,5,8,3,7,6,1,9,4};
分開(kāi)這個(gè)數(shù)組 看好了怎么把比4小的數(shù)都放到它前邊
 int biaoji=data[8];//最后一個(gè)數(shù)
 int weizhi=data[j];//這個(gè)一個(gè)位置數(shù) 一開(kāi)始把它放在最前邊 j會(huì)++
 data[i];//這個(gè)是用來(lái)遍歷數(shù)組的。i會(huì)++
for(int i=0;i<8;i++)//因?yàn)樽詈笠粋€(gè)數(shù)是標(biāo)記 所以只要對(duì)前8個(gè)數(shù)進(jìn)行遍歷就行
{
 if(data[i]<biaoji)
 {
   交換data[i]和weizhi
   位置的j++ 位置向后走一位(這個(gè)位置就意味著比標(biāo)記小的數(shù)都放到位置的左邊邊) 
 }
}
在分開(kāi)之后 我們要把我們的標(biāo)記(也就是最后一個(gè)數(shù))和我們的位置數(shù) 換一下
這樣就做到了這樣的事 把{2,5,8,3,7,6,1,9,4} 換成了{(lán)2,3,1,4,7,6,8,9}
好了 上代碼 在看看代碼相信 就都會(huì)了。
這是我用c++實(shí)現(xiàn)的代碼 哈哈寫(xiě)完了感覺(jué)很爽!

#include <iostream>
using namespace std;
//得到分割點(diǎn) 把小于最后一個(gè)數(shù)的數(shù)放在i前邊
//iData 是數(shù)組{2,5,8,3,7,6,1,9,4} iBegin是開(kāi)始的索引0  iEnd是結(jié)束的索引8
int getCutpoint(int * iData,int iBegin,int iEnd)
{
  int iCut=iData[iEnd];
  int i=iBegin;
 int temp;
  for(int j=iBegin;j<iEnd;j++)
  {
   //如果前面的比最后一個(gè)iCut小的話,那么讓
   //iData[i]和iData[j]換
   if (iData[j]<=iCut)
   {
    temp=iData[i];
    iData[i]=iData[j];
    iData[j]=temp; 
    i++;
  }
  }
  //交換最后一個(gè)與i處也就是cut處
  iData[iEnd]=iData[i];
  iData[i]=iCut;
 return i;//返回分割的索引
}
void fastSortCallBack(int * iData,int iBegin,int iEnd)
{
 if (iBegin>=iEnd)
 {
  return;
 }
 int i=getCutpoint(iData,iBegin,iEnd);
 //回調(diào)繼續(xù)getcutpoint左部分
 fastSortCallBack(iData,iBegin,i-1);
 //回調(diào)繼續(xù)getcutpoint右部分
 fastSortCallBack(iData,i+1,iEnd);
 return ;
}
void fastSort(int * iData,int iLength)
{
 fastSortCallBack(iData,0,iLength-1);
}
int main()
{
 int d[9]={2,5,8,3,7,6,1,9,4};
 fastSort(d,9);
 for (int i=0;i<9;i++)
 {
  cout<<d[i]<<" ";
 }
 system("pause");
 return 0;
}

 


選擇排序:
選擇排序和冒泡排序思路上有一點(diǎn)相似,都是先確定最小元素,再確定第二笑元素,最后確定最大元素。這個(gè)方法比較簡(jiǎn)單,他的主要流程如下:
1.加入一個(gè)數(shù)組A = {5,3,6,2,4,7},我們對(duì)他進(jìn)行排序
2.確定最小的元素放在A[0]位置,我們?cè)趺创_定呢,首先默認(rèn)最小元素為5,他的索引為0,然后用它跟3比較,比他打,則認(rèn)為最小元素為3,他的索引為1,然后用3跟6比,發(fā)現(xiàn)比他小,最小元素還是3,然后跟2比,最小元素變成了2,索引為3,然后跟4比,跟7比。當(dāng)比較結(jié)束之后,最小元素也塵埃落定了。就是2,索引為3,然后我們把他放在A[0]處。為了使A[0]原有數(shù)據(jù)部丟失,我們使A[0](要放的位置) 與A[3](最小數(shù)據(jù)的位置)交換。這樣就不可以了嗎?
3.然后我們?cè)趤?lái)找第二小元素,放在A[1],第三小元素,放在A[2]。。當(dāng)尋找完畢,我們排序也就結(jié)束了。
4.不過(guò),在找的時(shí)候要注意其實(shí)位置,不能在找A[2]的時(shí)候,還用A[2]的數(shù)據(jù)跟已經(jīng)排好的A[0],A[1]比,一定要跟還沒(méi)有確定位置的元素比。還有一個(gè)技巧就是我們不能每次都存元素值和索引,我們只存索引就可以了,通過(guò)索引就能找到元素了。呵呵。
5.他和冒泡的相似和區(qū)別,冒泡和他最大的區(qū)別是他發(fā)現(xiàn)比他小就交換,把小的放上面,而選擇是選擇到最小的在直接放在確定的位置。選擇也是穩(wěn)定的排序  ,這個(gè)還是很好實(shí)現(xiàn)的。

void SelectSort(int* pnData, int nLen)
{
    //i從[0,nLen-1)開(kāi)始選擇,確定第i個(gè)元素
    for (int i = 0; i < nLen - 1; ++i)
    {
        int nIndex = i;
        //遍歷剩余數(shù)據(jù),選擇出當(dāng)前最小的數(shù)據(jù)
        for (int j = i + 1; j < nLen; ++j)
        {
            if (pnData[j] < pnData[nIndex])   
            {
                nIndex = j;
            }
        }
        //如果當(dāng)前最小數(shù)據(jù)索引不是i,也就是說(shuō)排在i位置的數(shù)據(jù)在nIndex處
        if (nIndex != i)       
        {
            //交換數(shù)據(jù),確定i位置的數(shù)據(jù)。
            int nTemp = pnData[i];
            pnData[i] = pnData[nIndex];
            pnData[nIndex] = nTemp;
        }
    }
}

 


插入排序:
思想,從第二個(gè)元素開(kāi)始向后遍歷,然后跟前面比較,如果比前邊的元素小則向前插入
由data[1]和data[0]比較 如果data[1]<data[0]則data[0]后移一位 然后data[1]插入到data[0]位置
當(dāng)然了,在data[0]后移的時(shí)候要用temp 記錄data[1]的值
這樣繼續(xù)下去……
if(data[i]<(data i 前邊的元素))
{
  data i 前邊的元素就后移
}
最后把data[i]放到該插入的地方去 下面獻(xiàn)上一點(diǎn)點(diǎn)代碼 其中主要不好弄的是在頭部
比如{3,4,5,6,2,1} 這個(gè)2 和 1 向前插入的話2 比第一個(gè)數(shù)3還要小 所以他下一步就要去
和索引為-1的數(shù)比較,這是不允許的。所以……如下
void insertSort(int * pData,int iLength)
{
 //從第二個(gè)元素開(kāi)始 向前插
 int temp=pData[1];
 for (int i=1;i<iLength;)
 {
  for (int j=i-1;j>=0;j--)
  {
   //如果temp比前邊的大,則前邊的后移 最后把temp放在前面
   if (temp<pData[j])
   {
    pData[j+1]=pData[j];
     if (j==0)
     {
      pData[0]=temp;
     } 
   }
    else
    {
     pData[j+1]=temp;
     break;
    }
   
  }
  
  temp=pData[++i];
 }
}

 

 

希爾排序

待學(xué)習(xí)。

 


堆排序!!!!!!!!!!

 還不會(huì)呢。。

 

冒泡排序  略……

posted on 2011-07-30 14:29 陳曉 閱讀(313) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美一区二区精品久久911| 欧美夫妇交换俱乐部在线观看| 亚洲无线观看| 一本久久综合亚洲鲁鲁五月天| 伊人久久综合97精品| 国产一区二区三区在线观看精品 | 亚洲日本成人在线观看| 久久青草久久| 葵司免费一区二区三区四区五区| 久久久九九九九| 久久天堂成人| 亚洲精品一区二区三区四区高清| 日韩视频免费在线| 亚洲男人第一av网站| 欧美一区二区免费观在线| 久久成人精品电影| 嫩模写真一区二区三区三州| 欧美精品一区二区三区一线天视频 | 日韩一级黄色片| 亚洲欧美日韩人成在线播放| 久久大逼视频| 欧美日韩高清一区| 国产亚洲成av人片在线观看桃| 在线欧美电影| 亚洲一区二区三区四区视频| 久久精品盗摄| 日韩午夜在线播放| 久久久精品一区| 欧美日韩精品高清| 精品96久久久久久中文字幕无| 亚洲欧洲在线免费| 欧美制服第一页| 亚洲精品资源| 久久影院午夜片一区| 欧美日韩性视频在线| 一区二区三区在线免费观看| 一区二区三区黄色| 另类人畜视频在线| 国产精品自拍小视频| 久久婷婷人人澡人人喊人人爽| 欧美高清视频| 国内精品视频久久| 亚洲欧美日韩视频一区| 农夫在线精品视频免费观看| 亚洲一区精品电影| 欧美日韩免费一区| 亚洲人成在线播放| 六月丁香综合| 欧美亚洲一级| 国产精品免费网站| 亚洲视屏一区| 亚洲激情成人网| 美国十次成人| 激情综合网址| 久久午夜av| 久久国产精品免费一区| 国产精品一页| 午夜精品剧场| 亚洲免费在线视频| 国产精品久久久久av| 一本久久a久久免费精品不卡| 噜噜噜噜噜久久久久久91| 香蕉久久夜色精品国产使用方法| 国产精品初高中精品久久| 国产精品一国产精品k频道56| 亚洲美女黄网| 91久久在线播放| 欧美激情 亚洲a∨综合| 亚洲精品中文字幕有码专区| 亚洲夫妻自拍| 欧美精品在线观看| 在线视频亚洲| 一区二区三区日韩欧美| 国产精品久久久久久久久久免费 | 亚洲欧美成人网| 9久re热视频在线精品| 欧美色偷偷大香| 亚洲欧美日本另类| 亚洲无人区一区| 国产免费观看久久| 看欧美日韩国产| 巨乳诱惑日韩免费av| 91久久在线| 夜夜嗨av色综合久久久综合网| 欧美精品久久99| 亚洲视频一区二区| 午夜视频一区| 亚洲第一区中文99精品| 亚洲激情自拍| 国产精品不卡在线| 久久九九有精品国产23| 麻豆精品精华液| 亚洲色诱最新| 欧美专区福利在线| 亚洲一区精品在线| 国产精品毛片高清在线完整版| 亚洲自拍偷拍麻豆| 欧美在线观看网址综合| 亚洲电影免费在线| 一区二区三区四区精品| 国精品一区二区| 亚洲日本久久| 国产自产2019最新不卡| 91久久精品美女| 国产亚洲精品久久久久动| 亚洲国产精品第一区二区| 国产精品yjizz| 欧美激情亚洲综合一区| 国产精品视频网站| 亚洲大片在线观看| 国产九色精品成人porny| 欧美电影在线观看| 国产精品永久免费观看| 亚洲福利国产| 国产主播精品| 亚洲天堂免费观看| 9色porny自拍视频一区二区| 性色av香蕉一区二区| 亚洲精品欧美在线| 久久久国产精品一区二区中文 | 欧美理论电影网| 久久综合伊人77777麻豆| 欧美性猛交xxxx免费看久久久| 欧美成人xxx| 精品96久久久久久中文字幕无| 亚洲图片欧美日产| 中日韩视频在线观看| 欧美成人一区二区三区| 免费观看不卡av| 狠狠色综合网| 久久精品官网| 久久婷婷av| 一色屋精品视频在线看| 久久精品视频va| 久久人人看视频| 红桃av永久久久| 欧美专区在线观看| 蜜桃av一区二区在线观看| 激情六月综合| 久久亚洲高清| 亚洲电影成人| 亚洲人成在线观看网站高清| 欧美大片18| 日韩视频免费| 亚洲视频在线免费观看| 欧美日韩亚洲另类| 中文av字幕一区| 午夜亚洲一区| 国产一区二区| 久久亚洲国产精品日日av夜夜| 麻豆精品一区二区av白丝在线| 国产日韩综合| 久久久综合网| 最近中文字幕日韩精品| 制服诱惑一区二区| 国产精品国产一区二区| 亚洲一区二区三区在线看 | 久久精品五月婷婷| 亚洲视频欧洲视频| 国产精品毛片在线看| 亚洲手机在线| 久久大香伊蕉在人线观看热2| 国产精品中文字幕欧美| 欧美一区2区视频在线观看| 蜜桃伊人久久| 一本到高清视频免费精品| 国产精品成av人在线视午夜片| 亚洲影视综合| 老色鬼久久亚洲一区二区 | 欧美区在线播放| 一本色道久久综合狠狠躁篇怎么玩| 欧美一级久久久| 91久久精品国产91性色tv| 国产精品美女www爽爽爽视频| 欧美中日韩免费视频| 亚洲精品一区二区三区蜜桃久| 久久成人国产精品| 亚洲精品欧美极品| 国产日韩欧美精品| 欧美日韩精品一区二区| 久久精品欧美日韩精品| 一本大道久久a久久精品综合| 久久久噜久噜久久综合| 日韩午夜电影av| 黑人中文字幕一区二区三区| 欧美日韩免费看| 男人的天堂亚洲| 午夜久久tv| 夜夜狂射影院欧美极品| 亚洲国产高清aⅴ视频| 久久美女性网| 午夜精品成人在线| 一区二区欧美在线观看| 精品不卡一区二区三区| 国产精品vvv| 欧美激情在线播放| 麻豆91精品| 久久精品在线| 午夜一区在线| 亚洲曰本av电影|