冒泡排序
核心思想:两两排序交换,共进行N-1趟排序。
(附上完整的.cpp可运行文件。数组长度为6,共输入5个数,R[0]为辅助量)
#include<iostream>
using namespace std;
void BubbleSort(int R[],int n);
void main()
{
int R[6];
cout<<"请输入数字: ";
for(int i=1;i<=5;i++)
cin>>R[i];
R[0]=0;
BubbleSort(R,5);
for(int k=1;k<=5;k++)
cout<<R[k]<<" ";
system("pause");
}
void BubbleSort(int R[],int n) //上升法冒泡排序
{
int i,j,flag;
for(i=1;i<=n-1;i++){ //做 n-1 趟扫描
flag=0; //置未交换标志
for(j=n;j>=i+1;j--) //从下向上扫描
if(R[j]<R[j-1]){ //比较值大小
flag=1;
R[0]=R[j];R[j]=R[j-1];R[j-1]=R[0];} //交换,R[0]作辅助量
if(!flag) break; //本趟未交换过记录,排序结束
}
}
浙公网安备 33010602011771号