2015-11-18 12:16
算法入门必学之冒泡算法(冒泡排序)
最近服务器问题一直没写文章,现在换到腾讯云了,虽然带宽成1M了,但是速度比以前快躲了,感谢马大大的福利。言归正传,本篇文章来讨论讨论冒泡排序算法。
冒泡排序算法乃是经典的算法,也有当做面试题过,属于基础中的基础,但是,个人觉得这种排序很耗时,效率慢,也有可能作为一个刻板用吧,所以大家只要知道就好了。
原理很简单也很常规,拿从小到大排序(升序)举例,就是依次比较相邻的2个元素,如果第一个元素比第二个元素大,就交换,重复这样的步骤。
下面看利用java写的代码:
public class Test011 { public static void main(String args[]){ int[] numArr={7,12,4,33,7,9,16,11,24,28}; Test011 obj=new Test011(); obj.BubbleSort(numArr); for (int n : numArr) { System.out.println(n); } } public void BubbleSort(int[] obj){ //算法函数 int temp=0; for(int i=obj.length-1;i>0;--i){ for(int j=0;j<i;++j){ if(obj[j+1]<obj[j]){ temp=obj[j]; obj[j]=obj[j+1]; obj[j+1]=temp; } } } } }
之前也说过,这种算法事比较简单的算法,是比较符合人最基本的逻辑的,但是冒泡算法是比较耗时,数据量稍微大点就能发现会有很多不必要的比较,所以,在数据规模很小,代码又不想复杂时,可以采用。数据规模比较大时,最好用其它排序方法。
- 原码、反码、补码的换算方法
分类相关推荐 / Cat Related Articles
- 暂无相关文章