冒泡排序

来源:互联网 发布:人品差的演员知乎 编辑:程序博客网 时间:2024/05/17 22:30

时间复杂度O(n2),空间复杂度O(1),稳定的排序算法

#include<iostream>using namespace std;//正宗的冒泡排序 void BubbleSort(int *num,int len){for(int i=0;i<len;i++){for(int j=len-2;j>=i;j--){if(num[j]>num[j+1]){//若前者大于后者 int temp=num[j];num[j]=num[j+1];num[j+1]=temp;}}} }//改进的冒泡排序void BubbleSort2(int *num,int len){int i,j;if(len<=1)return;for(i=0;i<len;i++){bool flag=false; for(j=len-2;j>=i;j--){if(num[j]>num[j+1]){//若前者大于后者 int temp=num[j];num[j]=num[j+1];num[j+1]=temp;flag=true;}}if(!flag)return;} }int main(){      int num[10]={2,3,9,6,1,6,4,9,1,9};      BubbleSort(num,10); cout<<"正宗冒泡排序的结果"<<endl;     for(int i=0; i<10; i++)          cout<<num[i]<<" ";      cout<<endl;     int num1[10]={2,3,9,6,1,6,4,9,1,9};      BubbleSort(num1,10);cout<<"优化冒泡排序的结果"<<endl; for(int i=0; i<10; i++)          cout<<num1[i]<<" ";      cout<<endl;     return 0;  }   


0 0
原创粉丝点击