冒泡排序的中心思想:
将数组中的相邻元素进行两两比较,若逆序则交换。
#include <iostream>
#define N 10
using namespace std;
int main()
{
int arr[N]={2,5,1,3,4,10,9,8,7,6};
int i,j,k;
int temp;
cout<<"排序前:"<<endl;
for(i=0;i<N;i++)
cout<<arr[i]<<" ";
cout<<endl;
for(i=1;i<N;i++)/*外循环控制排序轮数*/
{
for(j=0;j<=N-i;j++)/*每轮排序对相邻的两个数进行比较*/
{
if(arr[j]<arr[j+1])/*逆序就交换*/
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
cout<<"第"<<i<<"轮排序结果:";
for(k=0;k<N;k++)
cout<<arr[k]<<" ";
cout<<endl;
}
cout<<"排序后:"<<endl;
for(i=0;i<N;i++)
cout<<arr[i]<<" ";
return 0;
}