完整代码:
#include<iostream>
using namespace std;
#define num 100
int s[num];
void BubbleSort(int a[],int size)
{
for(int i=0; i<size-1; ++i)
{
for(int j=0; j<size-1-i; ++j)
{
if(a[j]>a[j+1])
{
int tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
}
int main()
{
int n;
cin >> n;
for(int i=0; i<n; ++i)
cin >> s[i];
BubbleSort(s,n);
for(int i=0; i<n; ++i)
cout << s[i] << " ";
return 0;
}
代码注释:
void BubbleSort(int a[],int size)
{
//外循环为排序趟数,size个数进行size-1趟排序
for(int i=0; i<size-1; ++i)
{
//内循环为每趟比较的次数,第 i趟比较size-i次
for(int j=0; j<size-1-i; ++j)
{
//相邻元素比较,若逆序则交换(升序为左大于右,降序反之)
if(a[j]>a[j+1])
{
int tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
}