zoukankan      html  css  js  c++  java
  • 排序--冒泡排序

    算法思路

    1,比较相邻的元素,如果第一个元素大于第二个元素,则交换他们。

    2,遍历一遍,进行比较,一轮下来后,最大的元素应该在列表末端。

    3,持续对未排序的子列表进行遍历和比较,知道左右元素归位。

     Java 代码

     1 public class Bubble
     2 {
     3 
     4     public static void main(String[] args)
     5     {
     6         Integer[] arr = {112, 33, 5, 3, 22, 33, 44, 33, 56, 3, 1, 34, 7, 5, 5, 78, 7, 533,};
     7         bubble(arr);
     8         for(Integer i: arr)
     9         {
    10             System.out.print(i + " ");
    11         }
    12     }
    13 
    14     public static <T extends Comparable<? super T>> void bubble(T[] arr)
    15     {
    16         for(int i = arr.length - 1; i > 0; --i)
    17         {
    18             T tem;
    19             for(int j = 0; j < i; ++j)
    20             {
    21                 //比较次数:n(n-1)/2
    22                 if(arr[j].compareTo(arr[j+1]) > 0)
    23                 {
    24                     //交换相邻的2个元素
    25                     //交换次数:0~n(n-1)/2之间
    26                     tem = arr[j];
    27                     arr[j] = arr[j+1];
    28                     arr[j+1] = tem;
    29                 }
    30             }
    31         }
    32     }
    33 }

     复杂度

  • 相关阅读:
    DataGrip连接MySql数据库
    IDEA版本控制-Git
    IDEA关联MySql数据库
    ESXi平滑升级
    Dell服务器安装vGPU
    索引
    数据类型
    部署Zabbix监控平台
    部署Cacti监控平台
    常用系统监控命令
  • 原文地址:https://www.cnblogs.com/wangziqiang/p/3612056.html
Copyright © 2011-2022 走看看