本文共 1269 字,大约阅读时间需要 4 分钟。
冒泡排序算法是一个经典的排序算法,其主要特点是重复访问需要排序的数据,依次比较两个相邻的数据元素,按照自己的顺序(升序或降序)来交换两个相邻元素的位置,通过走访第一遍可得到最大值或最小值。
冒泡排序的时间复杂度为T(n)=O(n*n),空间复杂度为O(1)。这里运行以升序为例,降序的也写在代码里面,同时也打印出每一遍的元素之间的变化。
package sort;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * project_name: JavaDemo * filename: Buble * IDE: IntelliJ IDEA * author: ganxiang * CreateDate:2020-07-17 16:26 */public class Buble { private Listsort(int[] arr){ int length=arr.length-1; int k=0; for (int i = 0; i 第"+k+"排序为:"); for (int j = 1; j <=length-i ; j++) { //1,从打到小排序// if (arr[j]>arr[j-1]){ // int tmp=arr[j-1];// arr[j-1] =arr[j];// arr[j]=tmp;// } //2,从小到大 if(arr[j] list =new ArrayList (); for (int i = 0; i <=length; i++) { list.add(arr[i]); } return list; } public static void main(String[] args) { int [] arr={ 1,5,3,6,4}; System.out.println("输入-->需要排序的数组为:"+Arrays.toString(arr)); System.out.println("输出-->排序完成的数组为:"+new Buble().sort(arr)); }}
转载地址:http://wrqzi.baihongyu.com/