本题要求实现一个函数,返回带头结点的单链表中奇数的个数。 函数接口定义: int OddNumber(LinkList L); L是带头结点的单链表的头指针,函数OddNumber返回L中奇数的个数。如果单链表为空,返回0。
时间: 2024-10-10 17:04:59 浏览: 45
1.单链表的定义.md
为了实现这个功能,你可以编写一个名为`OddNumber`的函数,该函数接受一个指向单链表头节点的指针`L`作为输入。你需要遍历整个链表,对于每个节点,检查其值是否为奇数。如果是奇数,则计数器加一。当链表遍历完毕后,返回计数器的值,即奇数的数量。下面是一个简单的伪代码描述:
```cpp
int OddNumber(LinkList L) {
// 初始化计数器为0
int count = 0;
// 检查链表是否为空
if (L == nullptr) {
return 0; // 如果链表为空,直接返回0
}
// 遍历链表
LinkListNode* current = L;
while (current != nullptr) {
// 如果当前节点的值是奇数
if (isOdd(current->data)) {
count++; // 计数器加1
}
// 移动到下一个节点
current = current->next;
}
// 返回奇数的个数
return count;
}
// 辅助函数判断数值是否为奇数
bool isOdd(int num) {
return num % 2 == 1; // 如果数值除以2余1,那么它是奇数
}
```
阅读全文