Maison >Java >javaDidacticiel >Liste chaînée circulaire en Java
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 :
public class Course{ float marksscored; Course comingup; public Course(float marksscored) { this.marksscored = marksscored; } }
public Course evaluated = null; public Course notevaluated = null;
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 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(); } }
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.
Vous trouverez ci-dessous des exemples de listes chaînées circulaires en Java :
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 :
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 :
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!