O conceito básico do bubble sort (BubbleSort) é comparar dois números adjacentes em sequência, colocando o decimal na frente e o número grande atrás. Ou seja, na primeira passagem: primeiro compare o primeiro e o segundo números, coloque o decimal primeiro e o número grande por último. Depois compare o segundo número e o terceiro número, coloque o decimal na frente e o número grande atrás, e continue assim até comparar os dois últimos números, coloque o decimal na frente e o número grande atrás. Este é o final da primeira viagem, deixando o maior número no final. Na segunda passagem: ainda inicie a comparação a partir do primeiro par de números (pois pode ser devido à troca do segundo número e do terceiro número que o primeiro número não seja mais menor que o segundo número), coloque o decimal primeiro , e o número grande Depois de colocá-lo, a comparação continua até o penúltimo número (a penúltima posição já é a maior. No final da segunda passagem, um novo número máximo é obtido em). a penúltima posição (na verdade, é o penúltimo número em toda a sequência). Continue assim e repita o processo acima até que a classificação esteja finalmente concluída.
Copie o código do código da seguinte forma:
classe pública Paixu {
public static void main(String[] args) {
int [] a = {2,6,4,5,1,7,3};
int eu = 0;
int j = 0;
interno n = 0;
for(i= 0;i<a.comprimento-1;i++){
for(j=0;j<a.length-i-1;j++){
se(a[j]>a[j+1]){
n = uma[j];
uma[j] = uma[j+1];
uma[j+1] = n;
}
}
}
for (i = 0; i < a.comprimento; i++) {
System.out.println(a[i]);
}
}
}
A classificação direta também é um método de classificação simples. Sua ideia básica é: selecionar o valor mínimo de R[0]~R[n-1] pela primeira vez, trocá-lo por R[0] e, em seguida, selecionar o valor mínimo. de R{1}~R[n-1] duas vezes e troque por R[1]...., A i-ésima vez seleciona o valor mínimo de R[i-1]~R[n-1] e troca por R[i-1],..., a n-1ª vez seleciona o valor mínimo de R[ n-2]~ Selecione o valor mínimo de R[n-1], troque-o por R[n-2] e passe-o um total de n-1 vezes para obter uma sequência ordenada organizada de pequeno a grande de acordo com o código de classificação.
Copie o código do código da seguinte forma:
classe pública Paixu {
public static void main(String[] args) {
int [] a = {2,6,4,5,1,7,3};
int eu = 0;
int j = 0;
interno n = 0;
for(i= 0;i<a.comprimento;i++){
for(j=i+1;j<a.comprimento;j++){
if(a[i]>a[j]){
n = uma[eu];
uma[j] = uma[i];
uma[eu] = n;
}
}
}
for (i = 0; i < a.comprimento; i++) {
System.out.println(a[i]);
}
}
}
Exemplo 2
Copie o código do código da seguinte forma:
pacote cn.cqu.coce.xutao;
classe pública 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.comprimento];
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();
//Selecione a classificação
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){
temperatura interna=a[min];
a[min]=a[i];
a[i]=temperatura;
}
}
for(int i=0;i<a.comprimento;i++)
System.out.print(a[i]+"/t");
System.out.println();
//classificação por bolha
for(int i=0;i<b.comprimento;i++){
for(int j=1;j<b.comprimento-i;j++){
se(b[j-1]>b[j]){
int te=b[j];
b[j]=b[j-1];
b[j-1]=te;
}
}
}
for(int i=0;i<b.comprimento;i++)
System.out.print(b[i]+"/t");
System.out.println();
}
}