Tri de sélection java

Tri de sélection java
L'élément le plus bas vient en premier dans le tri de sélection. Ensuite, le nœud débutant est commuté, et nous répétons pour le reste de la liste. Le tri de sélection en Java ne nécessite plus d'espace pour le tri qui implique de déterminer à plusieurs reprises le plus petit élément et de l'échanger avec celui qui est déjà présent dans la position appropriée. De plus, nous pouvons déterminer la complexité du tri de sélection en comptant le nombre de boucles. Étant donné que le tri de sélection utilise deux boucles à forte, la complexité temporelle est O (N2).

Exemple 1:

Le tri de sélection itère sur les éléments du tableau non trié spécifié. L'élément minimum est sélectionné et déplacé vers le sous-réseau trié dans chaque itération du tri de sélection. Le programme suivant est utilisé pour le tri de sélection pour trier un tableau dans l'ordre croissant:

La classe «AscendingingingSelectionsort» est construite dans le programme Java qui est mentionné précédemment. Cette classe est implémentée avec la fonction «tri» void où le tableau entier «MyArray» passe un paramètre. À l'intérieur de la fonction «Tri», nous décallions l'objet «ArraySize» pour obtenir la taille du tableau à partir de la méthode de longueur. De plus, nous déploiement de la méthode de boucle pour itérate de la limite du tableau non trié, une à la fois.

L'étape suivante consiste à développer un objet appelé «min» qui localise l'élément de tableau non trié avec la valeur la plus basse. L'autre boucle à forage est invoquée pour récupérer la position d'index de l'élément minimum du tableau. La boucle pour la boucle de «i + 1» au dernier élément d'un tableau. Ensuite, nous avons une mise en place de si. Si c'est le cas, l'indice minimum sera incrémenté. Ensuite, nous appliquons l'algorithme d'échange en échangeant la valeur minimale du tableau avec la première valeur. Là, nous avons une autre fonction, le «PrintArray», qui est établi pour imprimer le tableau trié du tri de sélection. Nous imprimons le tableau trié en itérant chaque élément du tableau via la boucle.

En fin de compte, nous testons la mise en œuvre du tri de sélection à l'intérieur de la méthode principale (). Ici, nous définissons l'objet «OBJ» pour la classe «AscendingingingSelectionsort» et initialisons également le tableau «MyArray» avec les éléments entiers. Ensuite, nous utilisons la fonction «tri» en utilisant ce tableau comme paramètre pour trier le tableau, qui a ensuite été imprimé sur la console.

La technique de tri de sélection est utilisée pour produire le tableau suivant qui est trié par ordre croissant:

Exemple 2:

Le tri de sélection peut également être utilisé pour le tableau qui n'est pas prédéfini. L'utilisateur entre d'abord la taille du tableau. Ensuite, il entre dans l'élément à l'intérieur du tableau avec le tableau spécifié.

Dans le programme précédent de Java, nous avons défini la classe «UserDefinedSelectionOrt». La classe est définie avec la fonction «échange» et prend les paramètres «x []», «i» et «j» comme paramètres. Les éléments du tableau sont comparés d'abord puis échangés avec la variable «temporaire». Après cela, nous avons une autre fonction - «UserDefinedSelectionTort» - où le tableau «x []» et la taille de l'objet sont définis comme un paramètre. Cette fonction est appelée avec la boucle imbriquée imbriquée. Nous avons d'abord traversé le tableau non trié du premier index au dernier.

Ensuite, nous traversons le tableau non trié de «I + 1» à la dernière valeur du tableau pour obtenir l'élément minimum du tableau non trié et mettre à jour l'index minimum. Après cela, nous appelons la fonction «échange» pour échanger le x [i] avec le x [min_index]. Ensuite, nous avons un formulaire de méthode Main () où nous prenons l'entrée de l'utilisateur en créant l'objet «entrée» et en appelant le système dans la méthode. L'objet «S» indique la longueur du tableau qui utilise la méthode NextInt () pour lire le jetons suivant de la valeur d'entrée par l'utilisateur. La longueur du tableau est déclarée à l'intérieur du tableau «x []» puis obtenue comme valeur du tableau dans la taille du tableau. Le tableau initial est affiché d'abord, puis le tableau trié de la méthode de tri de sélection est traversé et affiché.

Sur la compilation du code précédent, le terminal a d'abord demandé à saisir la taille du tableau. Après avoir défini la taille du tableau, l'utilisateur saisit les éléments aléatoires. Ensuite, le tri de sélection est effectué. Le tableau initial non trié et le tableau trié de sélection s'affiche dans ce qui suit:

Exemple 3:

Ensuite, le tri de sélection se fait sur la liste liée individuellement. La technique implique l'échange du nœud de liste lié au lieu des données à l'intérieur des nœuds.

Dans le programme précédent, nous avons une classe Java «LinkedlistSelectionsort» où nous définissons une autre classe, le «nœud». La classe «Node» est déclarée avec l'objet «MyData» et l'objet Node, «Next_Node». Ensuite, nous avons une fonction «swapnodes» où le nœud actuel «curr_n1» est échangé avec un autre nœud actuel «curr_n2» sans échanger les éléments de nœud dans la liste liée. Tout d'abord, nous avons fait le «curr_n2» à venir, puis ajusté les liens. Après cela, nous échangeons les nœuds avec la variable temporaire.

Là, nous avons une autre fonction «SELECTIONORT» qui utilise l'approche de tri de sélection récursive pour trier la liste liée. Nous déterminons avec la statement if si la liste liée a le nœud. Ensuite, nous définissons le nœud de pointeur «min_node» pour la valeur de données minimale et le pointeur de nœud «prev_min» pour avoir la valeur de données précédente du nœud. La boucle for-opos traverse tous les nœuds de la liste liée et incréments le nœud minimum et le nœud précédent. Ensuite, nous appliquons la condition - Si le Min_node et le nœud de tête sont différents, nous échangeons le min_node avec le nœud de tête. La liste liée restante est triée récursivement en mettant la «tête.Next_node ”dans la fonction SELECTIONORT.

De plus, nous créons la fonction «sortnodes» qui vérifie que la liste liée donnée ne doit pas être vide et trier la liste via la fonction SELECTIONORT (). Ensuite, nous avons la fonction suivante qui est «pousser» pour ajouter un nœud à la position de départ de la liste liée. Nous définissons l'objet «newNode» pour allouer le nœud et insérer les données à l'intérieur de ce nœud. Après cela, nous lions la référence de la tête avec le nouveau nœud et réaffecter la référence de la tête à un nouveau nœud. Ensuite, nous créons une fonction «DisplayList» pour imprimer la liste liée via la boucle while.

Nous avons une méthode Main () où la liste liée est initialisée à l'aide de la méthode push. Les éléments de liste liés non triés seront imprimés. Ensuite, nous invoquons la fonction sortNodes () qui prend l'objet de tête comme paramètre pour effectuer l'opération de tri de sélection. La liste liée triée est imprimée par la méthode DisplayList () qui prend également la «tête» comme argument.

La liste liée originale s'affiche. Après cela, la liste liée triée est imprimée dans ce qui suit:

Conclusion

Le tri de sélection spécifie essentiellement où un élément commence des autres éléments. Le tri de sélection en Java est appliqué lorsque les petites listes doivent être triées. Cela a également un impact sur le taux d'écriture dans la mémoire, en particulier la mémoire flash. Le concept principal de l'utilisation du tri de sélection en Java est de diviser un tableau en sections triées et non triées, puis à trier le tableau à l'aide de comparaisons. Les exemples de tri de sélection sont démontrés avec la valeur par défaut et l'autre cas.