快速和冒泡算法比较,C++版本,求详细课程设计,要求见补充
1个回答

冒泡排序:

#include

#define LEN 9

using namespace std;

int main(){

int nArray[LEN];

for(int i=0;i

cout< for(int i=0;i

cout<

//开始冒泡

{

int temp;

for(int i=LEN-1;i>0;i--)

for(int j=0;j

if(nArray[j]>nArray[j+1]){

temp=nArray[j];

nArray[j]=nArray[j+1];

nArray[j+1]=temp;

}

}

}

//结束冒泡

cout< for(int i=0;i

return 0;

}

快速排序:

#include

using namespace std;

void QuickSort(int *pData,int left,int right)

{

int i(left),j(right),middle(0),iTemp(0);

middle=pData[(left+right)/2];//求中间值

middle=pData[(rand()%(right-left+1))+left]; //生成大于等于left小于等于right的随机数

do{

while((pData[i]

i++;

while((pData[j]>middle) && (j>left))//从右扫描小于中值的数

j--;

//找到了一对值,交换

if(i<=j){

iTemp=pData[j];

pData[j]=pData[i];

pData[i]=iTemp;

i++;

j--;

}

}while(i<=j);//如果两边扫描的下标交错,就停止(完成一次)

//当左边部分有值(left

if(left

QuickSort(pData,left,j);

}

//当右边部分有值(right>i),递归右半边

if(right>i){

QuickSort(pData,i,right);

}

}

int main()

{

int data[]=;

const int count(6);

QuickSort(data,0,count);

for(int i(0);i!=7;++i){

cout<

}

cout<

return 0;

}

另外,虚机团上产品团购,超级便宜