📅  最后修改于: 2023-12-03 15:11:17.247000             🧑  作者: Mango
在实际的编程过程中,经常需要对链表进行操作。其中一个常见的操作就是查找链表的长度。本文将介绍一种用于查找链表长度的 C++ 程序。
要查找链表的长度,可以遍历整个链表,统计节点个数。从链表的头节点出发,向后遍历每个节点,每遇到一个节点,计数器加一,直到遍历到链表的结尾。
下面是用于查找链表长度的 C++ 程序的代码实现:
#include <iostream>
using namespace std;
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
int getListLength(ListNode* head) {
int length = 0;
ListNode* p = head;
while (p) {
length++;
p = p->next;
}
return length;
}
int main() {
// 构造链表
ListNode* head = new ListNode(1);
ListNode* p1 = new ListNode(2);
ListNode* p2 = new ListNode(3);
ListNode* p3 = new ListNode(4);
head->next = p1;
p1->next = p2;
p2->next = p3;
p3->next = NULL;
// 输出链表长度
int length = getListLength(head);
cout << "链表的长度为:" << length << endl;
return 0;
}
其中,getListLength
函数用于遍历整个链表,统计节点个数。在 main
函数中,构造一个链表,并调用 getListLength
函数输出链表的长度。
# 用于查找链表长度的 C++ 程序
在实际的编程过程中,经常需要对链表进行操作。其中一个常见的操作就是查找链表的长度。本文将介绍一种用于查找链表长度的 C++ 程序。
## 算法思路
要查找链表的长度,可以遍历整个链表,统计节点个数。从链表的头节点出发,向后遍历每个节点,每遇到一个节点,计数器加一,直到遍历到链表的结尾。
## 代码实现
下面是用于查找链表长度的 C++ 程序的代码实现:
```cpp
#include <iostream>
using namespace std;
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
int getListLength(ListNode* head) {
int length = 0;
ListNode* p = head;
while (p) {
length++;
p = p->next;
}
return length;
}
int main() {
// 构造链表
ListNode* head = new ListNode(1);
ListNode* p1 = new ListNode(2);
ListNode* p2 = new ListNode(3);
ListNode* p3 = new ListNode(4);
head->next = p1;
p1->next = p2;
p2->next = p3;
p3->next = NULL;
// 输出链表长度
int length = getListLength(head);
cout << "链表的长度为:" << length << endl;
return 0;
}
其中,getListLength
函数用于遍历整个链表,统计节点个数。在 main
函数中,构造一个链表,并调用 getListLength
函数输出链表的长度。