已知单链表L,求单链表的表长。
时间: 2024-05-04 22:20:02 浏览: 22
可以通过遍历单链表,计算遍历过的节点个数来求得单链表的表长。具体实现如下:
```
int getLength(ListNode* L) {
int length = 0;
ListNode* p = L;
while (p != NULL) {
length++;
p = p->next;
}
return length;
}
```
其中,ListNode为单链表节点的结构体,包含指向下一个节点的指针next。p指向当前遍历的节点,每次遍历时将计数器length加1,最后返回length即为单链表的表长。
相关问题
写一程序已知单链表L求表长
假设单链表的结构体定义如下:
```c
typedef struct node{
int data;
struct node *next;
}Node, *LinkedList;
```
其中 `data` 表示节点数据,`next` 表示下一个节点的指针。
下面是求单链表长度的程序:
```c
int Length(LinkedList L) {
int len = 0;
Node *p = L->next;
while (p != NULL) {
len++;
p = p->next;
}
return len;
}
```
程序中的 `L` 表示单链表头节点,函数返回单链表的长度。
写一代码已知单链表L求表长
这里是 Python 代码实现:
```python
def get_length(head):
"""
计算单链表的长度
:param head: 链表头节点
:return: 链表的长度
"""
length = 0
cur = head
while cur:
length += 1
cur = cur.next
return length
```
其中,`head` 表示链表的头节点,`length` 表示链表的长度,`cur` 表示当前节点。使用 `while` 循环遍历整个链表,每遍历到一个节点,就将 `length` 加 1,最终返回 `length` 即可。
相关推荐
![](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)
![](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)