1、源码

Player实体类

  1. package com.study.linkedlist;
  2. public class Player {
  3. public int no;
  4. public Player next;
  5. public Player(int no) {
  6. this.no = no;
  7. }
  8. public Player() {
  9. }
  10. }

CircleSingleLinkedList类

  1. package com.study.linkedlist;
  2. public class CircleSingleLinkedList {
  3. private Player first = null;
  4. public void add(int no){
  5. if(no<1){
  6. System.out.println("值错误");
  7. return;
  8. }
  9. Player cur = null;
  10. for (int i = 1; i <= no; i++) {
  11. Player p = new Player(i);
  12. if(i==1){
  13. first = p;
  14. first.next = first;
  15. cur = first;
  16. }else {
  17. cur.next = p;
  18. p.next = first;
  19. cur = p;
  20. }
  21. }
  22. }
  23. public void show(){
  24. if(first==null){
  25. System.out.println("没有指针");
  26. return;
  27. }
  28. Player cur = first;
  29. while (true){
  30. System.out.println("指针编号为:"+cur.no);
  31. if(cur.next==first){
  32. break;
  33. }
  34. cur = cur.next;
  35. }
  36. }
  37. }

CircleSingleLinkedListDemo测试类

  1. package com.study.linkedlist;
  2. public class CircleSingleLinkedListDemo {
  3. public static void main(String[] args) {
  4. CircleSingleLinkedList csll = new CircleSingleLinkedList();
  5. csll.add(5);
  6. csll.show();
  7. }
  8. }

测试结果

图片.png

2、总结

2.1、添加节点

  1. public void add(int no){
  2. if(no<1){
  3. System.out.println("值错误");
  4. return;
  5. }
  6. Player cur = null;
  7. for (int i = 1; i <= no; i++) {
  8. Player p = new Player(i);
  9. if(i==1){
  10. first = p;
  11. first.next = first;
  12. cur = first;
  13. }else {
  14. cur.next = p;
  15. p.next = first;
  16. cur = p;
  17. }
  18. }
  19. }

2.2、显示节点

  1. public void show(){
  2. if(first==null){
  3. System.out.println("没有指针");
  4. return;
  5. }
  6. Player cur = first;
  7. while (true){
  8. System.out.println("指针编号为:"+cur.no);
  9. if(cur.next==first){
  10. break;
  11. }
  12. cur = cur.next;
  13. }
  14. }