Javaでのソートアルゴリズム

3298 ワード

  • 発泡ソート:
  • 核心思想:



  • 泡のソート:
    核心思想:
    バブルソート(Bubble Sort)は、バブルソートまたはバブルソートとも呼ばれる.
    簡単なソートアルゴリズムです.いくつかの二次ソートされた数列を遍歴し、遍歴するたびに隣接する2つの数の大きさを前後から順に比較します.前者が後者より大きい場合は、それらの位置を交換します.これにより、1回の遍歴の後、最大の要素は数列の末尾にあります!同じ方法で再び遍歴すると、2番目に大きい要素が最大要素の前に並べられます.カラム全体が整列するまで、この操作を繰り返します.
    package com.bit.gzz;
    public class BubbleSort {
        //a      ,n      
        public static void bubbleSort2(int [] a,int n){
            int i,j;
            int flag;
            for(i = n-1; i > 0;i--){
                flag = 0; //    0
                for(j = 0;j < i;j++){
                    if(a[j]>a[j+1]){
                        int tmp = a[j];
                        a[j]= a[j+1];
                        a[j+1] = tmp;
                        flag = 1; //      ,     1
                    }
                }
                if(flag == 0){
                    break;//       ,        。
                }
            }
    
        }
        public static void main(String[] args) {
            int i = 0;
            int[] a = {10, 20, 40, 30, 70, 60, 50};
            System.out.println("before sort");
            for (i = 0; i < a.length; i++) {
                System.out.print(a[i] + "、");
            }
            bubbleSort2(a,a.length);
            System.out.println();
            System.out.println("after sort");
            for (i = 0; i < a.length; i++) {
                System.out.print(a[i] + "、");
            }
        }
    }