冒泡排序

核心思想:两两排序交换,共进行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; //本趟未交换过记录,排序结束
 }
}

posted @ 2013-06-08 21:16  oceans106  阅读(80)  评论(0)    收藏  举报