亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? multi-sort2.cpp

?? Bubble, BiDirectional Bubble, Bitonic排序算法
?? CPP
字號:
/////////////////////
//                 //
// Dave S. Maynard //
// -- Daxxus       //
//                 //
/////////////////////
//                 //
//   March 2001    //
//                 //
/////////////////////

#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>
#include <time.h>

//#define DEBUGIT

void printResults(double, int);
void bubbleSort(int[], int);
void bidirectionalBubbleSort(int[], int);
void bitonicSort(int[], int);
void sortUp(int[], int, int);
void sortDown(int[], int, int);
void mergeUp(int[], int, int);
void mergeDown(int[], int, int);
void Swap(int[], int, int);

#ifdef DEBUGIT
void printToScreen(int[], int, int);
void printToScreen(float[], int, int);
#endif

//////////
// Main //
//////////
void main()
{
int i = 0;
int startTime = 0;
int finishTime = 0;
double totalTime = 0.0;
int sampleSizeIndex;

int sampleSizes[] = {10, 50, 100, 500, 1000, 5000, 10000, 50000,
                     100000, 500000, 1000000};

cout << "Multi-Sort Program";

// Valid Input loop
while(1)
   {
   cout << endl << endl << "Sample Sizes:: ";
   for(int i = 0; i < 11; i++)
      cout << sampleSizes[i] << " ";
   cout << endl << "Choices::       ";
   cout << "1  2   3   4    5    6     7     8      9     10      11"
        << endl << endl << "Choose:: ";
   cin >> sampleSizeIndex;
   if((sampleSizeIndex < 1) || (sampleSizeIndex > 12))
      cout << "Your Choice must be between 1 and 12...";
   else
      break;
}
cout << endl;

// Creation of the Random Data Array
int *rawData;
rawData = new int[sampleSizes[sampleSizeIndex - 1]];

// Seed
srand(time(NULL));

// Creation of the Random Data
for(i = 0; i < sampleSizes[sampleSizeIndex - 1]; i++)
   rawData[i] = rand();

cout << "Statistics::" << endl
     << "The Random Sample Size is " << sampleSizes[sampleSizeIndex - 1]
     << "." << endl << endl;

// BUBBLE SORT //////////////////////////////////////////////
int *bubbleData;
bubbleData = new int[sampleSizes[sampleSizeIndex - 1]];

for(i = 0; i < sampleSizes[sampleSizeIndex - 1]; i++)
   bubbleData[i] = rawData[i];

startTime = clock();
bubbleSort(bubbleData, sampleSizes[sampleSizeIndex - 1] - 1);
finishTime = clock();

#ifdef DEBUGIT
printToScreen(bubbleData, sampleSizes[sampleSizeIndex - 1], 100);
#endif

delete [] bubbleData;
 
totalTime = double(finishTime - startTime) / CLOCKS_PER_SEC;
printResults(totalTime, 0);
// END BUBBLE SORT //////////////////////////////////////////

// BIDIRECTIONAL BUBBLE SORT ////////////////////////////////
int *biDiBubbleData;
biDiBubbleData = new int[sampleSizes[sampleSizeIndex - 1]];

for(i = 0; i < sampleSizes[sampleSizeIndex - 1]; i++)
   biDiBubbleData[i] = rawData[i];

startTime = clock();
bidirectionalBubbleSort(biDiBubbleData, sampleSizes[sampleSizeIndex - 1] - 1);
finishTime = clock();

#ifdef DEBUGIT
printToScreen(biDiBubbleData, sampleSizes[sampleSizeIndex - 1], 100);
#endif

delete [] biDiBubbleData;
 
totalTime = double(finishTime - startTime) / CLOCKS_PER_SEC;
printResults(totalTime, 1);
// END BIDIRECTIONAL BUBBLE SORT ////////////////////////////

// BITONIC SORT /////////////////////////////////////////////
int bitonicSampleSizes[] = {16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192,
                            16384, 32768, 65536, 131072};

cout << endl << endl << "For Bitonic Sort";

// Valid Input loop
while(1)
   {
   cout << endl << endl << "Sample Sizes:: " << endl;
   for(int i = 0; i < 14; i++)
      cout << bitonicSampleSizes[i] << " ";
   cout << endl << "Choices::       " << endl;
   cout << " 1  2  3   4   5   6    7    8    9   10    11    12    13     14"
        << endl << endl << "Choose:: ";
   cin >> sampleSizeIndex;
   if((sampleSizeIndex < 1) || (sampleSizeIndex > 14))
      cout << "Your Choice must be between 1 and 14...";
   else
      break;
}
cout << endl;

int *bitonicRawData;
bitonicRawData = new int[bitonicSampleSizes[sampleSizeIndex - 1]];

// Creation of the Random Data
for(i = 0; i < bitonicSampleSizes[sampleSizeIndex - 1]; i++)
   bitonicRawData[i] = rand();

cout << "Statistics::" << endl
     << "The Random Sample Size is " << bitonicSampleSizes[sampleSizeIndex - 1]
     << "." << endl << endl;

startTime = clock();
bitonicSort(bitonicRawData, bitonicSampleSizes[sampleSizeIndex - 1] - 1);
finishTime = clock();

#ifdef DEBUGIT
printToScreen(bitonicRawData, bitonicSampleSizes[sampleSizeIndex - 1], 100);
#endif

delete [] bitonicRawData;
 
totalTime = double(finishTime - startTime) / CLOCKS_PER_SEC;
printResults(totalTime, 2);
// END BITONIC SORT /////////////////////////////////////////

delete [] rawData;
cin.ignore();
cout << "Press [Enter] to Exit" << endl;
cin.get();
}

//////////////////////////
// Bubble Sort Function //
//////////////////////////
void bubbleSort(int values[], int size)
{
int temp = 0;
for(int j = 0; j < (size - 1); j++)
   for(int k = (j + 1); k < size; k++)
      if(values[j] > values[k])
         Swap(values, j, k);
}

/////////////////////////////////////////
// Bi-directional Bubble Sort Function //
/////////////////////////////////////////
void bidirectionalBubbleSort(int values[], int size)
{
int limit = size;
int st = -1;
while(st < limit)
   {
   st++;
   limit--;
   for(int i = st; i < limit; i++)
      if(values[i] > values[i + 1])
	     Swap(values, i, i + 1);
      
   for(int j = limit; j >= st; --j)
      if(values[j] > values[j+1])
	     Swap(values, j, j + 1);
   }
}

///////////////////////////
// Bitonic Sort Function //
///////////////////////////
void bitonicSort(int values[], int size)
{
sortUp(values, 0, size);
}

//////////////////////
// Sort Up Function //
//////////////////////
void sortUp(int values[], int m, int size)
{
if(size == 1)
   return;
sortUp(values, m, size/2);
sortDown(values, (m + size/2), size/2);
mergeUp(values, m, size/2);
}

////////////////////////
// Sort Down Function //
////////////////////////
void sortDown(int values[], int m, int size)
{
if(size == 1)
   return;
sortUp(values, m, size/2);
sortDown(values, (m + size/2), size/2);
mergeDown(values, m, size/2);
}

///////////////////////
// Merge Up Function //
///////////////////////
void mergeUp(int values[], int m, int size)
{
if(size == 0)
   return;
for(int i = 0; i < size; i++)
   if(values[m + i] > values[m + i + size])
      Swap(values, m + i, m + i + size);
        
mergeUp(values, m, size/2);
mergeUp(values, m + size, size/2);
}

////////////////////////
// Sort Down Function //
////////////////////////
void mergeDown(int values[], int m, int size)
{
if(size == 0)
   return;
for(int i = 0; i < size; i++)
   if(values[m + i] < values[m + i + size])
      Swap(values, m + i, m + i + size);

mergeDown(values, m, size/2);
mergeDown(values, m + size, size/2);
}

///////////////////
// Swap Function //
///////////////////
void Swap(int values[], int i, int j)
{
  int temp = values[i];
  values[i] = values[j];
  values[j] = temp;
}

///////////////////////////
// printResults Function //
///////////////////////////
void printResults(double totalTime, int title)
{
char* titles[] = {"Bubble Sort", "Bi-Directional Bubble Sort",
                  "Bitonic Sort"};
cout << "The execution time for " << titles[title] << " is:: "  
     << setprecision(5) << setiosflags(ios::fixed|ios::showpoint) 
     << totalTime << " Seconds." << endl;
}

//////////////////////////////////////////////////////////
// printToScreen Function -- this is for debugging only //
//////////////////////////////////////////////////////////
#ifdef DEBUGIT
void printToScreen(int values[], int size, int stepSize)
{
int columns = 0;
cout << endl << "DEBUG CODE::: " << endl;
for(int i = 0; i < size; i += stepSize)
   {
   cout << setw(6) << values[i];
   columns++;

   if(columns % 10 == 0)
      cout << endl;
   }
   cout << endl;
}
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一区二区三区在线观看| 青椒成人免费视频| 国产成人亚洲综合a∨婷婷图片| 日韩一区国产二区欧美三区| 美女网站视频久久| 精品国偷自产国产一区| 韩国精品主播一区二区在线观看 | 日韩一区在线看| 91亚洲精品久久久蜜桃网站| 1000精品久久久久久久久| 色呦呦日韩精品| 日韩专区在线视频| 久久综合色播五月| caoporen国产精品视频| 亚洲高清在线视频| 欧美v日韩v国产v| 成人激情免费视频| 亚洲国产成人va在线观看天堂| 日韩精品一区二区三区视频| 成人精品一区二区三区四区| 亚洲大片免费看| 久久影院视频免费| 欧美最猛性xxxxx直播| 蜜乳av一区二区| 成人免费视频在线观看| 69堂成人精品免费视频| 成人性视频网站| 亚洲成人av电影在线| 久久人人爽爽爽人久久久| 91久久精品一区二区三区| 麻豆成人综合网| 亚洲美女屁股眼交3| 欧美大片拔萝卜| 色婷婷精品久久二区二区蜜臀av| 久久精品国产色蜜蜜麻豆| 日韩毛片在线免费观看| 日韩欧美高清一区| 91国内精品野花午夜精品 | 国内一区二区在线| 一区二区三区精品视频| 久久久久国产精品麻豆ai换脸| 91成人看片片| 成人性生交大片免费看视频在线| 天天综合色天天| 综合精品久久久| 久久一区二区三区四区| 337p亚洲精品色噜噜噜| 91美女在线视频| 国产成人精品综合在线观看 | 久久综合色播五月| 欧美疯狂性受xxxxx喷水图片| 99久久精品国产精品久久| 激情成人综合网| 蜜臀av一区二区| 亚洲va欧美va人人爽| 亚洲品质自拍视频| 日本一区二区综合亚洲| 精品日韩成人av| 欧美一级一级性生活免费录像| 在线欧美小视频| 97se亚洲国产综合自在线不卡| 国产精品一区二区无线| 蜜芽一区二区三区| 午夜精品久久一牛影视| 亚洲综合精品久久| 亚洲另类春色校园小说| 最新日韩av在线| 中文字幕亚洲电影| 国产精品成人免费| 中文字幕制服丝袜成人av| 国产无一区二区| 欧美激情一区三区| 久久九九影视网| 2023国产一二三区日本精品2022| 日韩欧美aaaaaa| 欧美不卡一二三| 久久综合九色综合97婷婷女人| 欧美不卡在线视频| 欧美精品一区二区三| 久久久噜噜噜久久中文字幕色伊伊 | 日韩精品中文字幕一区| 欧美一区二区三区白人| 91精品国产综合久久精品麻豆| 欧美日韩成人综合| 91精品国产福利| 日韩一区二区三区电影在线观看| 日韩一区二区在线播放| 精品国产乱码久久久久久夜甘婷婷| 26uuu久久天堂性欧美| 久久婷婷色综合| 国产精品久久久久天堂| ...av二区三区久久精品| 亚洲自拍偷拍欧美| 日韩av一区二区在线影视| 青青草国产成人av片免费| 国内精品伊人久久久久av一坑| 国产九色精品成人porny| 波多野结衣视频一区| 日本黄色一区二区| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲视频每日更新| 亚洲一区二区三区在线播放 | 奇米精品一区二区三区在线观看| 日本欧美一区二区| 国产一区二区三区久久久 | 91黄色免费看| 日韩一区二区在线观看| 国产人成亚洲第一网站在线播放| 亚洲三级在线免费| 日韩精品一二三区| 国产91高潮流白浆在线麻豆| 色猫猫国产区一区二在线视频| 欧美日韩三级一区二区| 精品国产sm最大网站| 综合av第一页| 日本麻豆一区二区三区视频| 国产成人8x视频一区二区| 欧亚一区二区三区| 亚洲精品一区二区三区精华液 | 精品少妇一区二区三区视频免付费| 国产免费成人在线视频| 亚洲高清在线精品| 国产剧情一区二区三区| 欧美色爱综合网| 国产日韩精品一区二区三区| 五月激情综合色| 成人深夜视频在线观看| 91精品国产欧美一区二区18| 国产精品国产三级国产普通话蜜臀| 午夜在线成人av| proumb性欧美在线观看| 欧美不卡在线视频| 亚洲一级在线观看| 大白屁股一区二区视频| 欧美一区二区美女| 亚洲精品菠萝久久久久久久| 国产精品一区三区| 777亚洲妇女| 一区二区三区在线观看动漫 | 免费在线观看一区二区三区| 色成年激情久久综合| 亚洲国产精品传媒在线观看| 久久国产欧美日韩精品| 欧美色图天堂网| 亚洲欧美日韩一区二区| 夫妻av一区二区| 久久久久久免费网| 久久精品国产亚洲一区二区三区| 欧美亚洲综合在线| 亚洲精品自拍动漫在线| 成人app在线| 欧美激情一区二区三区四区| 麻豆精品国产传媒mv男同 | 日韩色视频在线观看| 天天操天天干天天综合网| 色婷婷亚洲婷婷| 亚洲人成小说网站色在线| 成人天堂资源www在线| 国产人妖乱国产精品人妖| 国产美女娇喘av呻吟久久| 日韩精品一区二区三区在线观看| 日韩av一二三| 欧美高清视频在线高清观看mv色露露十八 | 日韩免费福利电影在线观看| 日韩av电影免费观看高清完整版在线观看| 在线观看亚洲成人| 亚洲激情第一区| 在线观看国产日韩| 一区二区高清免费观看影视大全| 色婷婷久久久久swag精品| 一区二区三区四区国产精品| 日本高清不卡视频| 亚洲图片欧美一区| 欧美日韩情趣电影| 日韩av电影天堂| 26uuu精品一区二区在线观看| 国内精品国产成人国产三级粉色| 久久人人爽人人爽| 丁香天五香天堂综合| 最新中文字幕一区二区三区| 色综合久久天天| 亚洲国产日韩综合久久精品| 在线播放欧美女士性生活| 老汉av免费一区二区三区| 久久奇米777| 97久久超碰国产精品电影| 亚洲一二三四久久| 91麻豆精品国产| 国产乱码精品一区二区三区av| 欧美国产日产图区| 在线免费视频一区二区| 日韩精品电影在线观看| 精品国产1区二区| 成人福利视频在线| 亚洲国产综合91精品麻豆| 91麻豆精品国产91久久久久久久久 | 性久久久久久久久久久久| 欧美一三区三区四区免费在线看| 老色鬼精品视频在线观看播放| 欧美激情一区二区三区|