欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++實(shí)現(xiàn)簡(jiǎn)單的希爾排序Shell Sort實(shí)例

 更新時(shí)間:2014年07月24日 12:11:32   投稿:shichen2014  
這篇文章主要介紹了C++實(shí)現(xiàn)簡(jiǎn)單的希爾排序Shell Sort實(shí)例,對(duì)于正在學(xué)習(xí)算法的朋友很有借鑒價(jià)值,需要的朋友可以參考下

本文以實(shí)例形式講述了基于C++實(shí)現(xiàn)簡(jiǎn)單的希爾排序Shell Sort的方法,是一個(gè)很經(jīng)典的算法,具體實(shí)現(xiàn)代碼如下:

#include <iostream>
using namespace std;
void ShellSort(int* iArray,int length)
{
 //初始化jump等于length
 int jump = length;
 //標(biāo)記本趟檢測(cè)是否進(jìn)行了交換,
 // 若進(jìn)行了 則還有下次從頭開(kāi)始的檢測(cè),
 // 否則停止,繼續(xù)改變jump的值 做另一趟排序
 bool isSwap;
 while(jump != 0)
 {
  //jump每次/2
 jump = jump / 2;
 do{
  int i = 1;
  //初始化表示沒(méi)有進(jìn)行交換
  isSwap = false;
  while( i <= length - jump)
  {
  if(iArray[i] > iArray[i+jump])
  {
   int temp = iArray[i];
   iArray[i] = iArray[i+jump];
   iArray[i+jump] = temp;
   isSwap = true;
  }
  i++;
  }
 }while(isSwap == true);//如果進(jìn)行了交換說(shuō)明 增量為jump的序列 
    //可能存在不是有序的 在檢測(cè)一遍
     //否則說(shuō)明增量為jump的序列是有序的
 }
}
int main()
{
 int iArray[] = {0,50,123,36,25,200,36,95,70,14,10,321,1,3,5,8};
 ShellSort(iArray,15);
 for(int i = 1; i <= 15; i++)
 {
 cout<<iArray[i]<<" ";
 }
 cout<<endl;
 return 0;

}

相關(guān)文章

  • 淺談C++中replace()方法

    淺談C++中replace()方法

    C++編程語(yǔ)言中的string應(yīng)用方式多樣化,每一種應(yīng)用方式都能幫助我們提實(shí)現(xiàn)特定的功能需求。在這里我們將會(huì)為大家詳細(xì)介紹一下其中一個(gè)比較重要的用法,有關(guān)C++ replace()函數(shù)的應(yīng)用方式,需要的朋友可以參考下
    2015-11-11
  • C++編程中__if_exists與__if_not_exists語(yǔ)句的用法

    C++編程中__if_exists與__if_not_exists語(yǔ)句的用法

    這篇文章主要介紹了C++編程中__if_exists與__if_not_exists語(yǔ)句的用法,是C++中用于判斷指定的標(biāo)識(shí)符是否存在的基礎(chǔ)的條件判斷語(yǔ)句,需要的朋友可以參考下
    2016-01-01
  • 最新評(píng)論