`
stinge
  • 浏览: 149295 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

冒泡排序

阅读更多

算法思想:通过相邻元素之间两两比较和交换,使值小的元素前移,值大的元素后移,每一趟都会有最大的元素移到最后。

 

      (1)首先循环进行n-1趟排序;

      (2)在第i趟排序时,进行n-i次两两比较

 

算法描述:从第一个元素开始,将每一个元素与后一位元素进行比较,如果后一个大,则交换彼此位置,否则不做操作,这张扫描一遍,可以将最大的放到数组的最后边。重复上述操作,直到没有数据要被交换位置。  

    
算法效率:冒泡排序要做N*(N-1)/2次比较 ,N*N/4次交换。交换和比较操作都和N*N成正比。由于常数不算在大O表示法中,可以忽略2和4,并且认为冒泡排序运行需要o(N*N)时间级别。

算法复杂度:o(n^2)

 

 

	//冒泡排序
	public static int[] maopao(int _d[]){
		int len = _d.length;
		for(int i = 0;i < len; i++){
			int j = 0;
			while(j < len-i-1){
				if(_d[j] > _d[j+1]){
					int tmp;
					tmp = _d[j];
					_d[j] = _d[j+1];
					_d[j+1] = tmp;
				}
				j++;
			}
		}
		return _d;
	}
	
 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics