输入若干个正整数(输入-1 为结束标志)建立一个单向链表,头指针为h输出表中奇数值的结点。试编写相应程序。
时间: 2023-12-20 08:19:06 浏览: 124
链表建立的步骤-C语言单向链表
好的,以下是实现这个功能的C++代码:
```cpp
#include <iostream>
using namespace std;
struct Node {
int val;
Node* next;
Node(int v) : val(v), next(nullptr) {}
};
Node* buildList() {
Node* head = nullptr;
Node* tail = nullptr;
int num;
while (true) {
cin >> num;
if (num == -1) {
break;
}
Node* node = new Node(num);
if (head == nullptr) {
head = node;
tail = node;
} else {
tail->next = node;
tail = node;
}
}
return head;
}
void printOddNodes(Node* head) {
while (head != nullptr) {
if (head->val % 2 == 1) {
cout << head->val << " ";
}
head = head->next;
}
cout << endl;
}
int main() {
Node* head = buildList();
cout << "Odd nodes in the list: ";
printOddNodes(head);
return 0;
}
```
上述代码中,`buildList`函数用于读入一系列正整数,并建立一个单向链表。`printOddNodes`函数用于输出链表中奇数值的结点。注意,本代码中没有进行内存管理,请勿直接用于生产环境。
您可以根据需要修改输入输出方式。
阅读全文