【冒泡法】

来源:互联网 发布:淘宝达人号 编辑:程序博客网 时间:2024/05/01 01:08
冒泡排序算法的运作如下:
  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较

总结:总共有N个数,需要比较N-1趟,低J趟比较的个数为为N-J。下边程序J是从开始的,所以比较个数为N-J-1.下边i,j都是从0开始的。

#include<iostream>using namespace std;void bubbleSort(int arr[],int n){int i,j,t;for(i=0;i<n-1;i++)for(j=0;j<n-i-1;j++){if(arr[j+1]<arr[j]){t=arr[j];arr[j]=arr[j+1];arr[j+1]=t;}}}int main(){int arr[]={15,89,56,26,26}; bubbleSort(arr,5); for(int i=0;i<5;i++) cout<<arr[i]<<" "; cout<<endl;}