Le concept de base du tri à bulles (BubbleSort) consiste à comparer deux nombres adjacents en séquence, en plaçant la décimale au premier plan et le grand nombre à l'arrière. Autrement dit, lors de la première passe : comparez d’abord le premier et le deuxième nombre, mettez la décimale en premier et le grand nombre en dernier. Comparez ensuite le deuxième nombre et le troisième nombre, mettez la décimale devant et le grand nombre derrière, et continuez ainsi jusqu'à comparer les deux derniers nombres, mettez la décimale devant et le grand nombre derrière. C'est la fin du premier voyage, laissant le plus grand nombre à la fin. Dans la deuxième passe : commencez toujours la comparaison à partir de la première paire de nombres (car il se peut que ce soit dû à l'échange du deuxième nombre et du troisième nombre que le premier nombre ne soit plus petit que le deuxième nombre), mettez la décimale en premier , et le grand nombre Après l'avoir placé, la comparaison se poursuit jusqu'à l'avant-dernier nombre (l'avant-dernière position est déjà la plus grande. A la fin du deuxième passage, un nouveau nombre maximum est obtenu à). l'avant-dernière position (en fait, c'est l'avant-dernier nombre de toute la séquence). Le deuxième plus grand nombre). Continuez ainsi et répétez le processus ci-dessus jusqu'à ce que le tri soit enfin terminé.
Copiez le code comme suit :
classe publique Paixu {
public static void main (String[] arguments) {
int [] une = {2,6,4,5,1,7,3};
int je = 0;
entier j = 0 ;
entier n = 0 ;
pour(i= 0;i<a.length-1;i++){
pour(j=0;j<a.length-i-1;j++){
si(a[j]>a[j+1]){
n = une[j];
une[j] = une[j+1];
une[j+1] = n;
}
}
}
pour ( je = 0; je < a.longueur; je++) {
System.out.println(a[i]);
}
}
}
Le tri par sélection directe est également une méthode de tri simple. Son idée de base est la suivante : sélectionnez la valeur minimale entre R[0]~R[n-1] pour la première fois, échangez-la avec R[0], puis sélectionnez la valeur minimale. de R{1}~R[n-1] deux fois et échangez-le avec R[1]..., La ième fois sélectionne la valeur minimale parmi R[i-1]~R[n-1] et l'échange avec R[i-1],..., la n-1ième fois sélectionne la valeur minimale parmi R[ n-2]~ Sélectionnez la valeur minimale parmi R[n-1], échangez-la avec R[n-2] et transmettez-la un total de n-1 fois pour obtenir une séquence ordonnée classée du petit au grand selon le code de tri.
Copiez le code comme suit :
classe publique Paixu {
public static void main (String[] arguments) {
int [] une = {2,6,4,5,1,7,3};
int je = 0;
entier j = 0 ;
entier n = 0 ;
pour(i= 0;i<a.length;i++){
pour(j=i+1;j<a.length;j++){
si(a[i]>a[j]){
n = une[je];
une[j] = une[je];
une[i] = n;
}
}
}
pour ( je = 0; je < a.longueur; je++) {
System.out.println(a[i]);
}
}
}
Exemple 2
Copiez le code comme suit :
paquet cn.cqu.coce.xutao ;
tri de sélection de classe publique {
public static void main(String args[]){
int a[]={34,56,3,234,767,89,0,324,1,32,54,89,8} ;
int b[]=nouveau int[a.length];
System.arraycopy(a, 0, b, 0, a.length);
pour(int i=0;i<a.length;i++){
System.out.print(a[i]+"/t");
}
System.out.println();
//Sélectionner le tri
pour(int i=0;i<a.length-1;i++){
int min = je;
pour(int j=i+1;j<a.length;j++){
si(a[min]>a[j])
min=j;
}
si(min!=i){
int temp=a[min];
une[min]=une[je];
a[i]=temp;
}
}
pour(int i=0;i<a.length;i++)
System.out.print(a[i]+"/t");
System.out.println();
//tri à bulles
pour(int i=0;i<b.length;i++){
pour(int j=1;j<b.length-i;j++){
si(b[j-1]>b[j]){
int te=b[j];
b[j]=b[j-1];
b[j-1]=te;
}
}
}
pour(int i=0;i<b.length;i++)
System.out.print(b[i]+"/t");
System.out.println();
}
}