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] + "、");
}
}
}