Maison  >  Article  >  Java  >  Implémenter le tri par insertion à l'aide du code Java et du pseudocode

Implémenter le tri par insertion à l'aide du code Java et du pseudocode

王林
王林avant
2019-11-26 14:18:102657parcourir

Implémenter le tri par insertion à l'aide du code Java et du pseudocode

Introduction au tri par insertion :

Je crois que la plupart des gens ont joué au poker. Beaucoup de gens aiment prendre une carte en main lorsqu'on leur distribue une carte et la commander. dans l'ordre. Venez déposer vos cartes. On part avec une main gauche vide et les cartes sont sur la table. Nous prenons ensuite une carte à la fois sur la table et l'insérons à sa place dans la main gauche. Pour trouver la bonne position d'une carte, nous la comparons avec toutes les cartes déjà en main de droite à gauche.

Tutoriels vidéo gratuits liés à Java recommandés : Tutoriels vidéo gratuits sur Java

Pseudo code :

INSERTION-SORT(A)	//A是数组
 for j = 2 to A.length
key = A[j]
//(将A[j]插入排序序列A[1..j-1])
i = j - 1
while i > 0 and A[i] > key
A[i+1] = A[i]
i = i - 1
A[i+1] = key

code java :

//升序排序
public void InsertSortAscending(int[] A){
		for(int j = 1;j < A.length;j++){
			int key = A[j];
			//将A[j]插入排序序列A[1..j-1]
			int i = j - 1;
			while(i >= 0 && A[i] > key){
				A[j+1] = A[i];
				i = i - 1;
			}
			A[i+1] = key;
		}
}

Jetons un coup d'œil aux étapes de fonctionnement du tri par insertion

Utilisons le tableau A[2,4,7,1,3,6] comme exemple

Chaque Dans la boucle for, le rectangle jaune est la valeur de A[j]. Dans la boucle while de la ligne 7, il est comparé à la valeur du rectangle bleu à gauche. La flèche bleue indique que le tableau est déplacé d'une position vers la droite sur la ligne 8 et la flèche jaune indique où le mot-clé est déplacé sur la ligne 11.

Le premier cycle : comme indiqué ci-dessous :

Implémenter le tri par insertion à laide du code Java et du pseudocode

Le deuxième cycle : comme indiqué ci-dessous :

Implémenter le tri par insertion à laide du code Java et du pseudocode

Remarque : Ici, A[2] est supérieur à A[1], car A[1] est définitivement supérieur à A[0], il n'est donc pas nécessaire de comparer A[2] avec A[1] taille. La boucle while se terminera car la condition n'est pas remplie.

Le troisième cycle : comme le montre l'image ci-dessous :

Implémenter le tri par insertion à laide du code Java et du pseudocode

Le quatrième cycle : comme le montre l'image ci-dessous :

Implémenter le tri par insertion à laide du code Java et du pseudocode

La cinquième boucle : comme indiqué ci-dessous :

Implémenter le tri par insertion à laide du code Java et du pseudocode

Le tableau A est maintenant comme indiqué sur la figure :

Implémenter le tri par insertion à laide du code Java et du pseudocode

Dans la sixième boucle, j vaut 6, ce qui ne satisfait pas la condition de boucle j

Articles et tutoriels recommandés sur Java : Programme d'entrée Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer