typedef struct node { struct news data; //数据域 struct node* next; //指针域 int len; }Node, * Link;void showNode1(Link head) { Link p = head->next; bool flag = true; int count = 0; // 计数器初始化为0 while (p && flag) { cout << "新闻标题:" << p->data.name << "新闻号:" << p->data.num << " 新闻内容:" << p->data.n << endl; p = p->next; count++; // 每遍历一个节点,计数器加1 } cout << "链表长度为:" << count << endl; // 输出链表长度}这段代码中怎么实时计算链表长度
时间: 2024-02-25 08:58:56 浏览: 65
typedef_struct与struct之间的区别
在这段代码中,可以通过一个计数器来实时计算链表长度。具体来说,可以在遍历链表的过程中,每访问一个节点就将计数器加1。遍历结束后,计数器的值就是链表的长度。代码实现如下:
```cpp
void showNode1(Link head) {
Link p = head->next;
bool flag = true;
int count = 0; // 计数器初始化为0
while (p && flag) {
cout << "新闻标题:" << p->data.name << "新闻号:" << p->data.num << " 新闻内容:" << p->data.n << endl;
p = p->next;
count++; // 每遍历一个节点,计数器加1
}
cout << "链表长度为:" << count << endl; // 输出链表长度
}
```
在这段代码中,每访问一个节点,都会将计数器count的值加1。遍历结束后,count的值就是链表的长度。最后,通过cout语句输出链表长度。
阅读全文