输入若干个正整数(输入-1 为结束标志)建立一个单向链表,头指针为 h,输出链表中奇数值的结点。试编写相应程序
时间: 2023-12-20 13:18:33 浏览: 180
好的,以下是使用 C++ 编写的程序:
```
#include<iostream>
using namespace std;
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
int main() {
int x;
ListNode* h, *p;
h = new ListNode(0);
p = h;
cout << "请输入若干个正整数(输入-1 为结束标志):" << endl;
cin >> x;
while (x != -1) {
ListNode* q = new ListNode(x);
p->next = q;
p = q;
cin >> x;
}
cout << "链表中奇数值的结点如下:" << endl;
p = h->next;
while (p != NULL) {
if (p->val % 2 == 1) {
cout << p->val << " ";
}
p = p->next;
}
cout << endl;
return 0;
}
```
程序的思路是:首先定义一个结构体 ListNode 表示链表结点,包含一个整数值 val 和一个指向下一个结点的指针 next。然后定义链表头指针 h 和当前结点指针 p,输入若干个正整数,建立一个单向链表,最后输出链表中奇数值的结点。
阅读全文