排序算法之冒泡排序(递归版与非递归版)
2016-10-09 14:48
218 查看
public class bubbleSort { /* * 冒泡排序的时间复杂度为:O(N*N) * 一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。这里程序在运行时只用了两个循环变量,所以空间复杂度为O(1) */ public static void main(String []args){ //创建一个数组用于排序 int[]array={1,4,3,2,6,12,10}; //调用非递归的冒泡 //array=bubble(array); //调用递归的冒泡 array=recursiveBubble(array,array.length); for(int i=0;i<array.length;i++){ System.out.print(array[i]); } } //冒泡排序之非递归方法 public static int [] bubble(int []array){ for(int i=0;i<array.length;i++){ for(int j=array.length-1;j>i+1;j--){ int temp=0; if(array[array.length-j]>array[array.length-j+1]){ temp=array[array.length-j]; array[array.length-j]=array[array.length-j+1]; array[array.length-j+1]=temp; } } } return array; } //冒泡排序之递归方法 public static int [] recursiveBubble(int []array,int e){ if(e==0){ return array; } else{ for(int i=0;i<e-1;i++){ int temp=0; if(array[i]>array[i+1]){ temp=array[i]; array[i]=array[i+1]; array[i+1]=temp; } } e--; //System.out.println(e); recursiveBubble(array,e); } return array; } }
相关文章推荐
- 排序算法杂谈(二) —— 冒泡排序的递归实现
- 常见的五类排序算法图解和实现(交换类:冒泡排序,递归的快速排序)
- 常见的五类排序算法图解和实现(交换类:冒泡排序,递归的快速排序)
- 常见的五类排序算法图解和实现(交换类:冒泡排序,递归的快速排序)
- 实现冒泡排序的和快速排序的递归和非递归版——题集(十七)
- 笔试面试系列---排序算法专辑---冒泡排序---错误答案纠正
- C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序
- 【排序算法】:冒泡排序
- 排序算法 ->冒泡排序
- 排序算法之冒泡排序
- 排序算法大集锦_交换类——冒泡排序
- 排序算法--冒泡排序的首尾改进
- 排序算法----选择排序 冒泡排序
- 三种基础排序算法(选择排序、插入排序、冒泡排序)
- 从零开始学算法(一)排序算法(桶排序、冒泡排序、快速排序)
- 排序算法-冒泡排序
- 排序算法之冒泡排序
- C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序
- 各种排序算法实现——基数排序、归并排序、插入排序、冒泡排序、选择排序、快速排序、堆排序、希尔排序
- 排序算法-冒泡排序