首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++ QT 的快速排序 几年之前写的 现在复习上

2013-01-28 
C++ QT 的快速排序 几年之前写的 现在复习下 呵呵#include QtCore/QCoreApplication #include iostream

C++ QT 的快速排序 几年之前写的 现在复习下 呵呵

#include <QtCore/QCoreApplication>

 #include "iostream"

using namespace std;
void sort(int shuzu[],int left,int right)
{
int i(left),j(right),middle(0),tmp(0);
middle=shuzu[(qrand()%(right-left+1))+left];
do{
while((i<right)&&(shuzu[i]<middle))
i++;
while((j>left)&&(shuzu[j]>middle))
j--;
if(i<=j)
{
tmp=shuzu[j];
shuzu[j]=shuzu[i];
shuzu[i]=tmp;
i++;
j--;
}
}while(i<=j);//如果两边扫描的下标交错,就停止(完成一次)
if(left<j)//如果左边还有值
sort(shuzu,left,j);
if(i<right)//如果右边还有值
sort(shuzu,i,right);
}

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
int data[]={10,9,8,7,6,5,4};
const int count(6);
cout<<"Dada";
sort(data,0,count);
for(int i(0);i!=7;++i)
{
cout<<data[i]<<" ";
}

// return 0;
return a.exec();
}

热点排行