C++编程题库:链表操作与统计
需积分: 50 175 浏览量
更新于2024-07-21
14
收藏 1.15MB DOC 举报
"C++程序设计题库,包含182道题目及答案,主要针对C++编程面试准备"
这篇资源提供了一个C++编程题库,包含了182道程序设计题,旨在帮助学习者或面试者提升C++编程技能。其中,一道具体的题目被展示出来,要求编写一个函数`computingList`来统计单向链表中数据成员`data`为负数、零和正数的节点数量。
首先,我们来看题目中的结构体定义:
```cpp
struct node {
int data;
struct node* nextPtr;
};
```
这是一个简单的链表节点结构体,包含一个整型数据成员`data`和一个指向下一个节点的指针`nextPtr`。
题目要求实现的`computingList`函数如下:
```cpp
void computingList(node* head) {
int positive = 0, negtive = 0, zero = 0;
// 在这里填写代码
grading(positive, zero, negtive);
}
```
这个函数接收一个链表的头节点`head`作为参数,需要在函数体内遍历链表,统计`data`值的分布情况,并将结果分别存储到`positive`、`zero`和`negtive`中。
为了完成这个任务,你需要在`//**********Program**********//`与`//**********End**********//`之间的空白处插入适当的代码。一个可能的解决方案是使用指针遍历链表,检查每个节点的数据成员,并根据其值更新相应的计数器:
```cpp
while (head != NULL) {
if (head->data < 0) {
negtive++;
} else if (head->data == 0) {
zero++;
} else {
positive++;
}
head = head->nextPtr;
}
```
之后调用`grading`函数,将统计结果传递给它:
```cpp
grading(positive, zero, negtive);
```
然而,题目中并未给出`grading`函数的具体实现,所以这部分可能是留给读者自行处理的部分,可能是用于输出统计结果或其他操作。
此外,题目还提供了一个辅助函数`createList`用于创建一个示例链表,方便测试`computingList`函数。这个函数使用数组初始化数据,并通过动态分配内存创建链表。
总结来说,这个C++题库中的题目涵盖了链表操作和基本的条件分支,是C++初学者和面试准备者的良好练习材料。解决这类问题有助于提升对C++数据结构和控制流的理解。
2014-05-19 上传
2018-09-09 上传
2019-06-14 上传
2021-03-30 上传
Panwix
- 粉丝: 0
- 资源: 4
最新资源
- 使用FLEX 和 Actionscript开发FLASH 游戏(二)
- Linux 那些事儿之我是U 盘
- Cache在嵌入式处理器中的使用问题
- 老友记(friends)词频统计.txt
- 使用FLEX 和 Actionscript开发FLASH 游戏(一)
- sap 增强 badi userexit customerexit
- 信息系统安全技术.doc
- Spring+Struts+Hibernate的详解课件.pdf
- WPF入门电子书--新手入门的开始
- 代码找茬游戏 PHP
- matlab统计函数
- llinux设备驱动程序(第三版)
- linux内核完全注释
- 内存DC介绍及其使用
- 难得的EXTJS中文手册
- asp 生成 html 代码