首页 > 其他分享 >Day6-5 冒泡排序

Day6-5 冒泡排序

时间:2022-11-16 16:45:25浏览次数:41  
标签:Day6 ++ 冒泡排序 int length arrays array

冒泡排序

冒泡排序是最为出名的排序算法,一共有八大排序

冒泡代码比较简单,两层循环,外层冒泡轮数,里层依次比较

我们看到嵌套循环,应该立马就可以得出这个算法的时间复杂度为O(n2)

 
package com.kuang.array;
 ​
 import java.util.Arrays;
 ​
 public class AraayDemo07 {
     public static void main(String[] args) {
         int[] a={1,4,2,3,7,6,5};
         System.out.println(Arrays.toString(arrays(a)));
         System.out.println(Arrays.toString(sort(a)));
         int[] result=mp(a);
         System.out.println(Arrays.toString(result));
 ​
     }
 ​
     //冒泡排序
     //1. 比较数组中两个相邻元素的大小,如果第一个元素大于第二个元素,我们就交换两个元素的位置
     //2. 每一次比较,都会产生一个最大,或者最小的数字
     //3. 下一轮可以少一次排序
     //4. 依次循环,直到结束
     public static int[] sort(int[] array){
         //定义临时变量
         int temp=0;
         //外层循环,判断外层循环运行几次
         for (int i = 0; i < array.length-1; i++) {
             //内层循环,如果第一个元素大于第二个元素,我们就交换两个元素的位置
             for (int j = 0; j < array.length - 1-i; j++) {
                 if (array[j+1]>array[j]){
                     temp=array[j];
                     array[j]=array[j+1];
                     array[j+1]=temp;
                 }
             }
         }
         return array;
     }
 ​
     public static int[] arrays(int[] arrays){
 ​
 ​
         for (int i = 0; i < arrays.length-1; i++) {
             for (int j = 0; j < arrays.length-1-i; j++) {
                 if (arrays[j]>arrays[j+1]){
                     int x=arrays[j];
                     arrays[j]=arrays[j+1];
                     arrays[j+1]=x;
 ​
 ​
                 }
             }
         }
         return arrays;
     }
 ​
 ​
     public static int[] mp(int[] array){
         int x=0;
         for (int i = 0; i < array.length-1; i++) {
             for (int j = 0; j < array.length-1-i; j++) {
                 if (array[j]>array[j+1]){
                    x=array[j];
                    array[j]=array[j+1];
                    array[j+1]=x;
                 }
             }
         }
         return array;
     }
 }

 


 ​
 

标签:Day6,++,冒泡排序,int,length,arrays,array
From: https://www.cnblogs.com/actadams68/p/16896437.html

相关文章

  • Day6-3 多维数组
    二维数组多位数字可以看称是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组二维数组: inta[][]=newint[2][5] 以上的二维数......
  • Day6-2 数组的使用:for,for-each循环,作为方法参数,作为返回值
    数组的使用普通For循环For-Each循环数组做方法入参数组做返回值 packagecom.kuang.array;​//for-each循环publicclassArrayDemo04{publicstatic......
  • Day6-1 三种初始化及下标越界
    三种初始化及内存分析Java内存:堆:存放new的对象和数组可以被所有的线程共享,不会存放别的对象引用栈:存放基本变量类型(会包含这个基本类型的具体数值)引用......
  • 排序法【冒泡排序法】
    1packagecom.Lucky.base;23importjava.util.Arrays;45/*6排序法:71、直接插入排序;82、希尔排序;93、简单选择......
  • 冒泡排序
    基本思想:每次都是两两比较,比较完成之后符合条件则交换,直到把最大(最小)元素拍到最后,视为冒出。冒泡排序,是另一种意义上的插入排序,插入排序左边的有序,而冒泡排序右边的有序,所......
  • 冒泡排序
    洛谷1116概念//当然下面是争对升序排序冒泡是每次大当往最后移动,所有只需只需n-1次,每次移动完全,后面就不需要关,所以后面就要用j-i,表示不考虑最后的for(inti=0;i<n-......
  • 冒泡排序
    vararr=[123,203,23,13,34,65,65,45,89,13,1];for(vari=0;i<arr.length-1;i++){//每一轮比较要比多少次for(varj=0;j<arr.length-1-i;j++){......
  • 冒泡排序(数组中的问题)
    问题:使用冒泡排序的方法,将数组中的元素按照升序的方式将其排列。冒泡排序核心思想:两两相邻元素进行比较,满足条件则交换;     ①先确认趟数;     ②写下一趟冒泡......
  • 冒泡排序
    publicint[]sortMaopao(int[]arry){for(inti=0;i<arry.length;i++){for(intj=0;j<arry.length-1-i;j++){......
  • 冒泡排序
    其中判断条件得是>,不然就得反着来,且内部是j,不是i,这个是本人经常搞错的地方。......