循环链表的创建
时间: 2023-12-13 11:14:03 浏览: 33
循环链表与普通链表的区别在于其尾节点指向头节点,形成一个环形结构。循环链表的创建过程如下:
1. 定义一个节点结构体,包含数据域和指向下一个节点的指针。
2. 定义一个头节点,使其指向 NULL。
3. 通过循环创建节点,并将节点插入到链表尾部。
4. 最后将尾节点的指针指向头节点,形成循环链表。
下面是一个简单的 C++ 代码示例:
```cpp
#include <iostream>
using namespace std;
// 定义节点结构体
struct Node {
int data;
Node* next;
};
int main() {
Node* head = NULL, *tail = NULL; // 头节点和尾节点初始化为 NULL
// 创建循环链表,输入 -1 结束循环
int num;
cout << "请输入节点数据:" << endl;
cin >> num;
while (num != -1) {
Node* newNode = new Node; // 创建新节点
newNode->data = num; // 将数据存入新节点
if (head == NULL) { // 如果链表为空,新节点即为头节点
head = newNode;
tail = newNode;
} else { // 否则将新节点插入到链表尾部
tail->next = newNode;
tail = newNode;
}
cin >> num;
}
tail->next = head; // 将尾节点指向头节点,形成循环链表
// 遍历链表
cout << "循环链表的数据为:" << endl;
Node* p = head;
do {
cout << p->data << " ";
p = p->next;
} while (p != head); // 遍历到头节点时停止
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)