什么是冒泡排序

冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢”浮”到数列的顶端。
(这段话引用自菜鸟教程)

冒泡排序的基本思想

重复地走访要排序的元素列,依次比较两个相邻的元素,如果他们的顺序错误就把他们交换过来。
走访元素的工作要重复地进行,直到没有相邻元素需要交换时,说明全部元素已经排序完成。
走访的元素———比作是一个“气泡”,“气泡“一步一步向上翻滚,完成排序。

冒泡排序的可视化动画代码展示从大到小排序

#inlcude using namespace std;int main(){int a[101];int n;cin>>n;for(int i = 1;i>a[i];}//每趟排好一个数字,第一趟结束把最大值排好到最后一位for(int k = 1;k <= n-1;k++){for(int i=1;ia[i+1]){//顺序错误swap(a[i],a[i+1]);}}}for(int i=1;i<=n;i++){cout<<a[i]<<" ";}}

从小到大排序

#inlcude using namespace std;int main(){int a[101];int n,flag;cin>>n;for(int i=1;i>a[i];}//一共n-1趟for(int k=1;k<=n-1;k++) {//每趟排好一个数字,第一趟结束把最大值排好到最后一位flag=0;for(int i=1;ia[i+1]){//顺序错误swap(a[i],a[i+1]);flag=1;}}if(flag==0){ //这趟排序中没有出现交换break;//说明已经排好序了,break终止循环}}for(int i=1;i<=n;i++){cout<<a[i]<<" ";}return 0;}}