zoukankan      html  css  js  c++  java
  • Bubble(冒泡排序)————Java

    用Java进行冒泡排序的代码,利用一个flag进行优化算法:

     1 import java.util.Scanner;
     2 
     3 public class Bubble_Sort {
     4     private static int array[] = new int[1000];
     5 
     6     private static void setArray(int length) {
     7         // get length and to create array
     8         Scanner scanner = new Scanner(System.in);
     9         System.out.println("Please entry num:");
    10         for (int i = 0; i < length; i++) {
    11             int num = scanner.nextInt();
    12             array[i] = num;
    13         }
    14     }
    15 
    16     private static void showArray(int length){
    17         // show this array
    18         for (int i = 0; i < length; i++) {
    19             System.out.print(array[i] + " ");
    20         }
    21     }
    22 
    23     private static void sortArray(int length){
    24         // 大数向下沉的方法
    25         // 设置一个flag用于加快排序速度
    26         int flag;
    27         // 最大的比较次数  初始化
    28         flag = length;
    29         while (flag > 1){
    30             for (int i = 0; i < flag; i++) {
    31                 // 添加一个临界值的判断  因为  当flag=i时  第i+1位的值为0  所以肯定比第i位小 所以会自己添加一个0元素
    32                 if (array[i] >= array[i+1] && array[i+1] != array[flag+1]){
    33                     int swap = array[i+1];
    34                     array[i+1] = array[i];
    35                     array[i] = swap;
    36                 }
    37             }
    38             // 每次循环之后减一
    39             flag--;
    40 //            showArray(length);
    41         }
    42     }
    43 
    44     public static void main(String[] args){
    45         System.out.println("Please entry a length:");
    46         Scanner scanner = new Scanner(System.in);
    47         int length = scanner.nextInt();
    48         setArray(length);
    49         sortArray(length);
    50         showArray(length);
    51     }
    52 }
  • 相关阅读:
    HDU6397
    容斥原理推导错排通项公式
    重复排列的证明
    圆排列证明
    rock-paper-scissors
    The more, The Better
    趁着情人节写点东西
    分层图最短路问题
    背包问题是否装满问题
    Python面向对象编程扑克牌发牌程序,另含大量Python代码!
  • 原文地址:https://www.cnblogs.com/future-dream/p/10353897.html
Copyright © 2011-2022 走看看