我今天要讲的是这个非常简单的冒泡排序。
首先,我们需要了解一下什么是冒泡排序与冒泡排序的用法。
1.什么是冒泡排序
冒泡排序这个算法顾名思义就是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳气泡最终会上浮到顶端一样,所以才名“冒泡排序”。
2.冒泡排序的用法
如上面讲的一样,冒泡排序就是让越小的元素交换慢慢到数列的顶端(升序或降序排列),也就是下图所示:
接下来就是程序讲解
for(int i=n-1;i>0;i--) //从后往前一个一个的遍历。
{
for(int j=0;j<i;j++)
{
if(a[j]>a[j+1]) swap(a[j],a[j+1]); //如果a[j]大于a[j+1],就让它们交换一下位置。
}
}
接下来就亮出完整代码:
#include<iostream>
using namespace std;
int main(){
int n,a[100]; //创建元素个数n和数组
cin>>n; //输入元素个数
for(int i=0;i<n;i++) cin>>a[i]; //输入n个元素
for(int i=n-1;i>0;i--){ //遍历每个元素
for(int j=0;j<i;j++){
if(a[j]>a[j+1]) swap(a[j],a[j+1]); //将a[j]与a[j+1]中较小的元素换到前面.
}
}
for(int i=0;i<n;i++) cout<<a[i]<<" "; //输出。
}