Java:3つの経典の順序付け。
2406 ワード
並べ替えを選択:
並べ替えを行うグループの数の中から、一番小さい数を選んで最初の位置の数と交換します。残りの数の中で一番小さいのと二番目の位置の数を交換して、最後から二番目の数と最後の数を比較するまで循環します。セレクション.java
並べ替えたいグループの数の中で、まだ並べられていない範囲の全部の数を上から下へと隣り合っている二つの数を逐次比較して調整して、大きい数を下へ沈下させて、小さいものは上へ上昇します。すなわち、2つの隣接する数を比較するたびに、それらの順序が順序要求と逆であることがわかったとき、それらを交換する。Bbb.java
順序付けプロセスのある中間時刻において、配列Rは、2つのサブ区間R[1.i−1](順序付けされた順序付けられた順序付けられたゾーン)とR[i.n]に分割される(現在の順序付けられていない部分は、無秩序領域と呼ぶことができる)。挿入順序の基本的な動作は、現在の無秩序領域の第1の記録R[i]を、順序領域R[1.i-1]の適切な位置に挿入し、R[1.i]を新たな順序領域に変更することである。この方法は秩序領域を1つの記録に追加するたびに増分法と呼ばれる。並べ替えを挿入するのはトランプをする時に手の札を整理するのととても似ています。触ってきた1枚目の札は整理する必要はなく、その後はテーブルの上の札(無秩序区)から一番上の1枚を触り、左手の札(整然としたゾーン)の中で正しい位置に挿入します。この正確な位置を見つけるためには、左から右に(または右から左に)触った札を左手にある札と比べます。Insertion.java
並べ替えを行うグループの数の中から、一番小さい数を選んで最初の位置の数と交換します。残りの数の中で一番小さいのと二番目の位置の数を交換して、最後から二番目の数と最後の数を比較するまで循環します。セレクション.java
package com.briup.ch04;
import java.util.Arrays;
public class Selection{
public void s1(){
int n[] = {23,6,18,2,11};
int i,j;
for(i=0;in[j]){
min = j;
// min, min 。
}
}
if(min!=i){
// ,min=i
int x = n[min];
n[min] = n[i];
n[i] = x;
}
}
System.out.println(Arrays.toString(n));
}
public static void main(String args[]){
Selection s = new Selection();
s.s1();
}
}
泡の並べ替え:並べ替えたいグループの数の中で、まだ並べられていない範囲の全部の数を上から下へと隣り合っている二つの数を逐次比較して調整して、大きい数を下へ沈下させて、小さいものは上へ上昇します。すなわち、2つの隣接する数を比較するたびに、それらの順序が順序要求と逆であることがわかったとき、それらを交換する。Bbb.java
import java.util.Arrays;
public class Bubble{
public void b1(){
int n[] = {23,6,18,2,11};
int i,j;
for(i=1;in[j+1]){
// ,
int tem = n[j];
n[j] = n[j+1];
n[j+1] = tem;
}
}
}
System.out.println(Arrays.toString(n));
}
public static void main(String args[]){
Bubble b = new Bubble();
b.b1();
}
}
並べ替えの挿入:順序付けプロセスのある中間時刻において、配列Rは、2つのサブ区間R[1.i−1](順序付けされた順序付けられた順序付けられたゾーン)とR[i.n]に分割される(現在の順序付けられていない部分は、無秩序領域と呼ぶことができる)。挿入順序の基本的な動作は、現在の無秩序領域の第1の記録R[i]を、順序領域R[1.i-1]の適切な位置に挿入し、R[1.i]を新たな順序領域に変更することである。この方法は秩序領域を1つの記録に追加するたびに増分法と呼ばれる。並べ替えを挿入するのはトランプをする時に手の札を整理するのととても似ています。触ってきた1枚目の札は整理する必要はなく、その後はテーブルの上の札(無秩序区)から一番上の1枚を触り、左手の札(整然としたゾーン)の中で正しい位置に挿入します。この正確な位置を見つけるためには、左から右に(または右から左に)触った札を左手にある札と比べます。Insertion.java
import java.util.Arrays;
public class Insertion{
public void ins1(){
int i,j;
int a[] = {5,7,12,-9,0};
for(i=1;i0;j--){
if(temtem
// から べ えを するので、a[j-1]>temの 、 の び えが しました。
a[j]=a[j-1]
System.out.println(Arays.toString(a));
if(j-1==0)
//j=1かつtema[J-1]の 、
break;
)
)
)
System.out.println(Arays.toString(a));
)
public static void main(String args){
Insertion ins=new Insertion()
ins.ins 1()
)
)