冒泡排序

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 1 package com.sort.demo;
 2 
 3 public class BubbleSort {
 4     public static void sort(int[] arr){
 5         if (arr==null|arr.length<2){
 6             return;
 7         }
 8         //定义每次排序的结束点,每次排序时都会把最大数放在end位置,所以下一次排序结束点是end--
 9         for (int end=arr.length-1;end>0;end--){
10             //从index 0 到end进行循环,每次把大的数放到最末尾的end位置
11             for (int i=0;i<end;i++){
12                 if (arr[i]>arr[i+1]){
13                     swap(arr,i,i+1);
14                 }
15             }
16         }
17     }
18     public static void swap(int[] arr,int  i, int j){
19         int a=arr[i];
20         arr[i]=arr[j];
21         arr[j]=a;
22     }
23 
24     public static void main(String[] args) {
25         int[] a=new int[]{4,2,5,7,1,3,9};
26         BubbleSort.sort(a);
27         for (int i = 0; i < a.length; i++) {
28             System.out.print(a[i]+"\t");
29         }
30 
31     }
32 
33 }
代码

 

 

 

 

 

时间复杂度为 空间复杂度是O(1)

 

posted @ 2019-11-11 11:08  懒人写博客  阅读(...)  评论(...编辑  收藏