单向环形链表构建(思路分析)
我们前面已经知道了对与约瑟夫问题我们要通过单向环形链表来解决,那么我们如何构建一个单向环形链表?(这里我们做以思路分析)
构建一个单向环形链表的思路图:
构建一个单向环形链表的思路分析:
-
先创建第一个节点,让first指针指向该结点,并让该结点的next域指向自己(也就是自己和自己形成一个环)
-
同时也让我们的curBoy指针也指向第一个节点,每当添加一个节点的时候就让我们的curBoy指针指向的结点的next域指向我们要添加的新结点temp,然后让我们的curBoy指针后移,然后让我们的curBoy指针指向的结点的next域再指向我们的first指针指向的结点,那么就完成了单向环形链表中结点的添加
上面的first结点就是永远都指向我们的首个结点,而我们的curBoy指针则是指向我们的单向环形链表中的最后一个节点,所以每当我们单向环形链表中添加了一个节点之后我们的curBoy指针就要进行一个后移的操作(也就是让我们的curBoy指针指向我们的新添加的结点位置)
补充:
这里我们进行一个同一说法:
- 我们说让某个指针指向A结点那么就是这个指针直接指向A结点的位置
- 我们如果要表名某个指针而定所指向的结点的next域指向某个结点,我们就说是某指针指向的结点的next域指向某个结点