阿萌的程序小屋

萌物控重度患者与您一起畅游技术与梦想的世界

算法入门必学之冒泡算法(冒泡排序)

最近服务器问题一直没写文章,现在换到腾讯云了,虽然带宽成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;
				}
			}
		}
	}
}

之前也说过,这种算法事比较简单的算法,是比较符合人最基本的逻辑的,但是冒泡算法是比较耗时,数据量稍微大点就能发现会有很多不必要的比较,所以,在数据规模很小,代码又不想复杂时,可以采用。数据规模比较大时,最好用其它排序方法。

 

如有朋友感觉我的博文或代码有问题,愿能给予我宝贵的意见!Thanks

另注:转载请随意,但请带上本文地址,万分感谢。

http://www.wangmengyu.cn/?p=686

    标签相关推荐 / Tag Related Articles

  • 暂无相关文章

这就是真的真的是传说中的公告牌的说~~
暂且努力发展中~~

性别:男  年龄:20岁
现居:江苏  南京  浦口区
标语:萌即是一切