冒泡排序

来源:互联网 发布:fifaol3数据库app 编辑:程序博客网 时间:2024/06/06 13:13

找工作面试时永远少不了一种题目,就是排序,而各种排序中冒泡排序又是被问道次数最多的一种。那么,真的懂冒泡排序么?

一般我们会这样写

for(i=0;i<len(L);i++)    for (j=i;j<len(L);j++)        if(L[i]>L[j])            swap(L,i,j);

但是正宗的冒泡排序是这样的

for(i=0;i<len(L);i++)    for (j=len(L)-2;j>i;j--)        if(L[j]>L[j+1])            swap(L,j,j+1);

我们还可以这样优化

bool flag=True;for(i=0;i<len(L)&&flag;i++){    flag=False;    for (j=len(L)-2;j>i;j--)        if(L[j]>L[j+1]){            swap(L,j,j+1);            flag=True;        }}

 

0 0
原创粉丝点击