Das Grundkonzept der Blasensortierung (BubbleSort) besteht darin, zwei benachbarte Zahlen der Reihe nach zu vergleichen, wobei die Dezimalzahl vorne und die große Zahl hinten steht. Das heißt, im ersten Durchgang: Vergleichen Sie zuerst die erste und die zweite Zahl, setzen Sie die Dezimalzahl zuerst und die große Zahl zuletzt. Vergleichen Sie dann die zweite und die dritte Zahl, setzen Sie die Dezimalzahl voran und die große Zahl hinten und machen Sie so weiter, bis Sie die letzten beiden Zahlen vergleichen, stellen Sie die Dezimalstelle voran und die große Zahl hinten. Dies ist das Ende der ersten Reise, so dass am Ende die größte Anzahl zurückbleibt. Im zweiten Durchgang: Beginnen Sie den Vergleich immer noch mit dem ersten Zahlenpaar (weil es durch den Austausch der zweiten und der dritten Zahl bedingt sein kann, dass die erste Zahl nicht mehr kleiner als die zweite Zahl ist), setzen Sie die Dezimalzahl an die erste Stelle , und die große Zahl Nach dem Platzieren wird der Vergleich bis zur vorletzten Zahl fortgesetzt (die vorletzte Position ist bereits die größte). Am Ende des zweiten Durchgangs wird eine neue maximale Zahl erhalten die vorletzte Position (tatsächlich ist es die vorletzte Zahl in der gesamten Reihenfolge). Fahren Sie so fort und wiederholen Sie den obigen Vorgang, bis die Sortierung endgültig abgeschlossen ist.
Kopieren Sie den Codecode wie folgt:
öffentliche Klasse Paixu {
public static void main(String[] args) {
int [] a = {2,6,4,5,1,7,3};
int i = 0;
int j = 0;
int n = 0;
for(i= 0;i<a.length-1;i++){
for(j=0;j<a.length-i-1;j++){
if(a[j]>a[j+1]){
n = a[j];
a[j] = a[j+1];
a[j+1] = n;
}
}
}
for ( i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}
Straight Select Sorting ist ebenfalls eine einfache Sortiermethode. Die Grundidee besteht darin, zum ersten Mal den Mindestwert aus R[0]~R[n-1] auszuwählen, ihn durch R[0] auszutauschen und dann den Mindestwert auszuwählen von R{1}~R[n-1] zweimal und tausche es mit R[1] aus..., Das i-te Mal wählt den Minimalwert aus R[i-1]~R[n-1] und tauscht ihn mit R[i-1],... aus, das n-1-te Mal wählt den Minimalwert aus R[ n-2]~ Wählen Sie den Mindestwert aus R[n-1] aus, tauschen Sie ihn gegen R[n-2] aus und übergeben Sie ihn insgesamt n-1 Mal, um eine geordnete Sequenz zu erhalten, die entsprechend von klein nach groß angeordnet ist Sortiercode.
Kopieren Sie den Codecode wie folgt:
öffentliche Klasse Paixu {
public static void main(String[] args) {
int [] a = {2,6,4,5,1,7,3};
int i = 0;
int j = 0;
int n = 0;
for(i= 0;i<a.length;i++){
for(j=i+1;j<a.length;j++){
if(a[i]>a[j]){
n = a[i];
a[j] = a[i];
a[i] = n;
}
}
}
for ( i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}
Beispiel 2
Kopieren Sie den Codecode wie folgt:
Paket cn.cqu.coce.xutao;
öffentliche Klasse selectsort {
public static void main(String args[]){
int a[]={34,56,3,234,767,89,0,324,1,32,54,89,8};
int b[]=new int[a.length];
System.arraycopy(a, 0, b, 0, a.length);
for(int i=0;i<a.length;i++){
System.out.print(a[i]+"/t");
}
System.out.println();
//Sortierung auswählen
for(int i=0;i<a.length-1;i++){
int min=i;
for(int j=i+1;j<a.length;j++){
if(a[min]>a[j])
min=j;
}
if(min!=i){
int temp=a[min];
a[min]=a[i];
a[i]=temp;
}
}
for(int i=0;i<a.length;i++)
System.out.print(a[i]+"/t");
System.out.println();
//Blasensortierung
for(int i=0;i<b.length;i++){
for(int j=1;j<b.length-i;j++){
if(b[j-1]>b[j]){
int te=b[j];
b[j]=b[j-1];
b[j-1]=te;
}
}
}
for(int i=0;i<b.length;i++)
System.out.print(b[i]+"/t");
System.out.println();
}
}