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

    假设一维数组的长度为n,需要进行n-1轮排序(循环次数为n-1次)

    每次循环。从左到右,将相邻的两个元素进行比较,如果前面的比后面的小,交换两个元素的值,第i次循环(i从1开始记),需要进行n-i次比较(可以使用子循环来实现)

    
    
     1 package com.wh.array;
     2 
     3 import java.util.Arrays;
     4 
     5 public class Demo {
     6     public static void main(String[] args) {
     7         int[] arr = new int[10];
     8         for (int i=0; i < arr.length; i++) {
     9             arr[i] = (int) (Math.random() * 100);
    10         }
    11         System.out.println("排序前:"+Arrays.toString(arr));
    12         
    13         for(int i=0;i<arr.length;i++){          //趟数
    14 
    15               for(int j=0;j<arr.length-i-1;j++){      //次数
    16 
    17                  if(arr[j]>arr[j+1]){
    18 
    19                         int temp=arr[j];
    20 
    21                         arr[j]=arr[j+1];
    22 
    23                         arr[j+1]=temp;
    24 
    25                   }
    26 
    27              }
    28 
    29         }
    30 
    31         System.out.println("排序后:"+Arrays.toString(arr));
    32     }
    33 }
    
    
    
     
    运行结果:
    排序前:[93, 67, 61, 0, 41, 95, 86, 8, 23, 81]
    排序后:[0, 8, 23, 41, 61, 67, 81, 86, 93, 95]
  • 相关阅读:
    SDN第三次作业
    SDN第二次上机作业
    SDN第二次作业
    JAVA小记
    算法笔记
    排序
    SDN期末作业
    SDN第五次上机作业
    SDN第四次上机作业
    SDN第四次作业
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/5868478.html
Copyright © 2011-2022 走看看