Maison >Java >javaDidacticiel >Liste chaînée circulaire en Java

Liste chaînée circulaire en Java

WBOY
WBOYoriginal
2024-08-30 15:10:16773parcourir

Une liste chaînée circulaire a une légère différence par rapport à une liste chaînée. Dans une liste chaînée circulaire, le dernier nœud pointe vers le premier nœud, qui complète un cercle complet de nœuds. Autrement dit, on peut aussi dire que dans cette liste chaînée, le dernier élément n’est pas nul. Dans ce type de liste chaînée, n’importe lequel des nœuds peut servir de point de départ. Cela signifie que la liste complète peut être parcourue, même si nous partons de n'importe quel nœud. Les opérations de mise en file d'attente et de retrait de la file d'attente sont très faciles à effectuer dans les listes chaînées circulaires car le dernier nœud pointe vers le premier nœud. Dans cet article, nous comprendrons la liste chaînée circulaire avec des exemples. Dans cette rubrique, nous allons découvrir la liste chaînée circulaire en Java.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Syntaxe de la liste chaînée circulaire en Java :

Ci-dessous la syntaxe :

  • Syntaxe de définition de classe de nœud –
public class Course{
float marksscored;
Course comingup;
public Course(float marksscored) {
this.marksscored = marksscored;
}
}
  • Création d'une syntaxe de composants de liste circulaire –
public Course evaluated = null;
public Course notevaluated = null;
  • Ajout d'un composant de liste circulaire dans la syntaxe de liste circulaire –
public void continued(float marksscored){
Course newCourse = new Course(marksscored);
if(evaluated == null) {
evaluated = newCourse;
notevaluated = newCourse;
newCourse.comingup = evaluated;
}
else {
notevaluated.comingup = newCourse;
notevaluated = newCourse;
notevaluated.comingup = evaluated;
}
}
  • Affichage de la syntaxe des composants de liste circulaire –
public void show() {
Course current = evaluated;
if(evaluated == null) {
System.out.println("Results are underevaluation");
}
else {
System.out.println("The Marks Scored are as follows: ");
do{
System.out.print(" \n"+ current.marksscored);
current = current.comingup;
}while(current != evaluated);
System.out.println();
}
}
public static void main(String[] args) {
EDUCBA marks = new EDUCBA();
marks.continued(100);
marks.continued(230);
marks.continued(349);
marks.continued(423);
marks.show();
}
}

Fonctionnement de la liste chaînée circulaire en Java

Comme nous l'avons lu plus tôt, la liste chaînée circulaire n'est rien d'autre qu'une liste qui contient une collection de nœuds où les derniers nœuds pointent vers le premier nœud. Le diagramme ci-dessous explique cela. Ici, le nœud 1 est le nœud principal et le nœud 4 est le dernier nœud. Ainsi, ici, nous pouvons voir que le nœud 1 pointe vers le nœud 2, puis le nœud 2 pointe vers le nœud 3 et le nœud 3 pointe vers le nœud 4, et à la fin, le nœud 4 renvoie vers le nœud 1.

Liste chaînée circulaire en Java

  • Dans un premier temps, nous devrons définir une classe de nœuds qui sera un nœud dans la liste particulière. Il aura deux données de propriétés et la suivante pointera vers le nœud à venir.
  • Une autre classe doit être définie, qui créera la liste chaînée circulaire avec deux nœuds, où un nœud serait la tête et un autre la queue. Il y aurait deux méthodes qui seraient add() et display().
  • La méthode add() ajouterait le nœud à la liste. Premièrement, cette méthode vérifierait si la tête est nulle, puis le nœud serait inséré comme tête.
  • Maintenant, la tête et la queue pointeraient vers le nœud nouvellement ajouté.
  • Dans le cas où la tête n'est pas nulle, alors le nouveau nœud agira comme la nouvelle queue, et sa queue pointerait vers la tête car cette liste est une liste chaînée circulaire.

Exemples de liste chaînée circulaire en Java

Vous trouverez ci-dessous des exemples de listes chaînées circulaires en Java :

Exemple n°1

Dans l'exemple ci-dessous, une liste circulaire basée sur des chaînes est affichée. Tout d’abord, nous avons défini une classe de nœuds Course. Ensuite, nous avons défini une autre classe pour créer une liste chaînée circulaire, et cette classe est ajoutée et affichée dans la liste chaînée circulaire.

public class EDUCBA {
public class Course{
float marksscored;
Course comingup;
public Course(float marksscored) {
this.marksscored = marksscored;
}
}
public void continued(float marksscored){
Course newCourse = new Course(marksscored);
if(evaluated == null) {
evaluated = newCourse;
notevaluated = newCourse;
newCourse.comingup = evaluated;
}
else {
notevaluated.comingup = newCourse;
notevaluated = newCourse;
notevaluated.comingup = evaluated;
}
}
public Course evaluated = null;
public Course notevaluated = null;
public void show() {
Course current = evaluated;
if(evaluated == null) {
System.out.println("Results are underevaluation");
}
else {
System.out.println("The Marks Scored are as follows: ");
do{
System.out.print(" \n"+ current.marksscored);
current = current.comingup;
}while(current != evaluated);
System.out.println();
}
}
public static void main(String[] args) {
EDUCBA marks = new EDUCBA();
marks.continued(100);
marks.continued(230);
marks.continued(349);
marks.continued(423);
marks.show();
}
}

Sortie :

Liste chaînée circulaire en Java

Exemple n°2

Dans l'exemple ci-dessous, une liste circulaire basée sur des chaînes est affichée. Tout d’abord, nous avons défini une classe de nœuds Coursename. Ensuite, nous avons défini une autre classe pour créer une liste chaînée circulaire, et cette classe est ajoutée et affichée dans la liste chaînée circulaire.

public class EDUCBA {
public class Coursename{
String name;
Coursename comingup;
public Coursename(String name) {
this.name = name;
}
}
public void continued(String name){
Coursename newCoursename = new Coursename(name);
if(evaluated == null) {
evaluated = newCoursename;
notevaluated = newCoursename;
newCoursename.comingup = evaluated;
}
else {
notevaluated.comingup = newCoursename;
notevaluated = newCoursename;
notevaluated.comingup = evaluated;
}
}
public Coursename evaluated = null;
public Coursename notevaluated = null;
public void show() {
Coursename current = evaluated;
if(evaluated == null) {
System.out.println("No desired course found");
}
else {
System.out.println("The requested courses are as follow: ");
do{
System.out.print(" \n"+ current.name);
current = current.comingup;
}while(current != evaluated);
System.out.println();
}
}
public static void main(String[] args) {
EDUCBA names = new EDUCBA();
names.continued("Course 1: Data Science");
names.continued("Course 2: Finance");
names.continued("Course 3: React Native");
names.continued("Course 4: React");
names.continued("Course 5: Excel");
names.continued("Course 6: Java");
names.continued("Course 7: Lua");
names.continued("Course 8: TypeScript");
names.continued("For more Information");
names.continued("Feel free to visit us on www.EDUCBA.com");
names.show();
}
}

Sortie :

Liste chaînée circulaire en Java

Conclusion

Sur la base de cet article, nous avons compris le concept de liste chaînée circulaire en Java et en quoi elle est différente de la liste chaînée. Nous avons parcouru le fonctionnement de la liste chaînée circulaire, ainsi que les exemples démontrés. Les exemples aideraient les débutants à comprendre très facilement le concept de listes chaînées circulaires.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Attente asynchrone JavaArticle suivant:Attente asynchrone Java