单面循环程序怎么编程的

时间:2025-01-23 19:18:07 游戏攻略

单面循环程序可以使用多种编程语言实现,这里我将提供一个使用C++编写的单面循环链表的示例代码。这个示例包括创建链表、插入元素、遍历链表和打印链表的功能。

```cpp

include

// 定义链表节点结构

struct Node {

int data; // 节点数据

Node *next; // 指向下一个节点的指针

};

// 创建新节点

Node *createNode(int data) {

Node *newNode = new Node();

if (newNode) {

newNode->data = data;

newNode->next = nullptr;

}

return newNode;

}

// 初始化链表

Node *initList() {

Node *head = createNode(0); // 创建头节点,数据为0

if (head) {

head->next = head; // 头节点的next指向自己,形成循环

}

return head;

}

// 头插

void insertHead(Node *head, int data) {

Node *newNode = createNode(data);

if (newNode) {

newNode->next = head->next;

head->next = newNode;

}

}

// 遍历整个链表

void travel(Node *head) {

if (is_empty(head)) {

std::cout << "链表为空" << std::endl;

return;

}

Node *cur = head;

do {

std::cout << cur->data << "\t";

cur = cur->next;

} while (cur != head);

std::cout << std::endl;

}

// 链表是否为空

bool is_empty(Node *head) {

return head == nullptr;

}

// 链表长度

int length(Node *head) {

if (is_empty(head)) {

return 0;

}

int length = 1;

Node *cur = head;

while (cur->next != head) {

length++;

cur = cur->next;

}

return length;

}

int main() {

Node *clink = initList(); // 初始化链表

insertTail(clink, 300); // 在链表尾部插入元素300

travel(clink); // 遍历并打印链表

return 0;

}

```

代码说明:

Node结构体:

定义了链表节点的数据结构,包括数据和指向下一个节点的指针。

createNode函数:

用于创建新节点并初始化其数据和指针。

initList函数:

初始化链表,创建头节点并将其next指针指向自己,形成循环。

insertHead函数:

在链表头部插入新节点。

travel函数:

遍历链表并打印每个节点的数据。

is_empty函数:

检查链表是否为空。

length函数:

计算链表的长度。

main函数:

程序入口,初始化链表,插入元素,遍历并打印链表。

这个示例展示了如何创建和操作一个单面循环链表。你可以根据需要修改和扩展这个代码,例如添加删除节点、查找节点等功能。