当前课程知识点:C++语言程序设计进阶 >  第九章 模板与群体数据 >  数组 >  例9-4数组类应用举例

返回《C++语言程序设计进阶》慕课在线视频课程列表

例9-4数组类应用举例在线视频

例9-4数组类应用举例

例9-4数组类应用举例



下一节:链表的概念与结点类模板

返回《C++语言程序设计进阶》慕课在线视频列表

例9-4数组类应用举例课程教案、知识点、字幕

大家好

欢迎回来继续学习

C++语言程序设计

接下来呢

我们再看一个例题

来使用我们刚才

自己封装的这个动态数组类模板

用这个动态数组类

来存放一些整数

我们要求范围2到n

之间的所有的质数

看看用这个动态数组类模板

是不是就可以很方便呢

尤其是当我们这个数据范围

是2到n

n由键盘输入

也就是说

到底一共有多少个数据

在编写程序的时候

是无法确定的

要到运行时才确定

那么尤其对这样的问题

看看动态数组类模板

是不是比普通的基本数组

要好用一些

这里我们这个数组类模板Array

指定它的类型参数是int

就是我们要

用它来让编译器

为我们生成一个类

用它来存放int数组

那构造这样一个对象a

它的初始状态是10个元素

接下来呢

从键盘输入一个n

我们要判断2到n范围

有哪些是质数

用键盘输入一个n

然后这个判断过程呢

接下来就是用这样一个

大的for循环

从2开始到n

检查每一个数是否能被

比它小的质数整除

怎么检查这个i

是否能被比它小的质数整除呢

就是它内层嵌套的这个for循环

来解决这个问题

内层嵌套的这个for循环

每一次呢

我们要检查比它小的质数

能不能整除它

那到底目前

一共有多少个质数了呢

这个质数是通过这个count

count初始化是0

开始0个质数

那i是2的时候

不会执行这个for循环

不执行这个for循环呢

那么这个是否质数的这个状态

isPrime这个状态呢

它就保持它初始的值是个true

这样在这个if语句中呢

就因为它是质数

所以就会把它放到

a count这个元素里面去

然后count下标

也就是质数的个数增1

当然在往里面放的时候

先要判断一下

当前数组是不是已经满了

如果已经满的话呢

把它的原素个数乘两倍

就是扩大一倍

当这个i是3的时候呢

会进入这个循环

那比它小的质数只有一个2

2不能整除3

所以那么结果是3是质数

3又再存到a数组里面去

count又再加1

当i是4的时候

进入到循环

会依次用2 用3去除它

看能不能整除

用2去除它的时候

就发现已经能够整除了

说明isPrime为false

4不是质数

这个时候就不必要继续

完成这个for循环

去再用3去整除它了

不用了

就直接break废除这个循环了

废除循环以后

那么在这个if语句里面一判断

那么isPrime已经是flase了

所以这个if分支就不执行了

4就没有存进去

所以用这样的办法呢

我们就可以把从2到n的数

都依次检查一遍

只有存入到a数组里面去的呢

就都是质数

那完成这个过程以后呢

我们再输出数组的所有元素 验证一下

C++语言程序设计进阶课程列表:

第七章 继承与派生

-导学

--导学

-继承的基本概念和语法

--继承的基本概念和语法

-第七章 继承与派生--继承的基本概念和语法习题

-继承方式

--继承方式简介及公有继承

--私有继承和保护继承

-第七章 继承与派生--继承方式

-基类与派生类类型转换

--基类与派生类类型转换

-第七章 继承与派生--基类与派生类类型转换

-派生类的构造和析构

--派生类的构造函数

--派生类的构造函数举例

--派生类的复制构造函数

--派生类的析构函数

--第七章 继承与派生--派生类的构造和析构

-派生类成员的标识与访问

--访问从基类继承的成员

--虚基类

-第七章 继承与派生--派生类成员的标识与访问

-小结

--小结

-综合实例

--第七章综合实例

-实验七

--实验七

-第七章讲义

第八章 多态性

-导学

--导学

-第八章 多态性--导学

-运算符重载

--运算符重载的规则

--双目运算符重载为成员函数

--单目运算符重载为成员函数

--运算符重载为非成员函数

-第八章 多态性--运算符重载

-虚函数

--虚函数

--虚析构函数

--虚表与动态绑定

-第八章 多态性--虚函数

-抽象类

--抽象类

--第八章 多态性--抽象类

-override与final

--override与final

-第八章 多态性--override与final

-小结

--第八章小结

-综合实例

--第八章综合实例

-实验八

--实验八

- 第八章讲义

第九章 模板与群体数据

-导学

--导学

-模板

--函数模板

--类模板

-第九章 模板与群体数据--模板

-线性群体

--线性群体的概念

-第九章 模板与群体数据--线性群体

-数组

--数组类模板

--例9-4数组类应用举例

-链表

--链表的概念与结点类模板

--链表类模板

-第九章 模板与群体数据--链表

-栈

--栈类模板

--栈类模板课后习题

--例9-9 栈的应用

--例9-9 栈的应用课后习题

-队列

--队列类模板

-第九章 模板与群体数据--队列

-排序

--排序概述

--插入排序

--选择排序

--交换排序

-第九章 模板与群体数据--排序

-查找

--查找

--查找课后习题

-小结

--小结

-综合实例

--综合实例

-实验九

--实验九

- 第九章讲义

第十章 泛型程序设计与C++标准模板库

-导学

--导学

-泛型程序设计及STL的结构

--泛型程序设计的基本概念

--STL简介

-第十章 泛型程序设计与C++标准模板库--泛型程序设计及STL的结构

-迭代器

--迭代器

-第十章 泛型程序设计与C++标准模板库--迭代器

-容器的基本功能与分类

--容器的基本功能与分类

-第十章 泛型程序设计与C++标准模板库--容器的基本功能与分类

-顺序容器

--顺序容器的基本功能

--顺序容器的特征

--顺序容器的插入迭代器与适配器

--第十章 泛型程序设计与C++标准模板库--顺序容器

-关联容器

--关联容器分类和基本功能

--集合

--映射

--多重集合和多重映射

-第十章 泛型程序设计与C++标准模板库--关联容器

-函数对象

--函数对象

--函数适配器

-算法

--算法

-小结

--第十章小结

-综合实例

--综合实例

-实验十

--实验十

- 第十章讲义

第十一章 流类库与输入/输出

-导学

--导学

-I/O流的概念及流类库结构

--I/O流的概念及流类库结构

-第十一章 流类库与输入/输出--I/O流的概念及流类库结构

-输出流

--输出流概述

--向文本文件输出

--向二进制文件输出

--向字符串输出

-第十一章 流类库与输入/输出--输出流

-输入流

--输入流概述

--输入流应用举例

--从字符串输入

-第十一章 流类库与输入/输出--输入流

-输入/输出流

--输入/输出流

-第十一章 流类库与输入/输出--输入/输出流

-小结

--小结

-综合实例

--综合实例

-实验十一

--实验十一

- 第十一章讲义

第十二章 异常处理

-导学

--第12章导学

-异常处理的思想与程序实现

--异常处理的思想与程序实现

-第十二章 异常处理--异常处理的思想与程序实现

-异常处理中的构造与析构

--异常处理中的构造与析构

-第十二章 异常处理--异常处理中的构造与析构

-标准程序库异常处理

--标准程序库异常处理

-第十二章 异常处理--标准程序库异常处理

-小结

--第12章小结

-综合实例

--综合实例

-实验十二

--实验十二

- 第十二章讲义

例9-4数组类应用举例笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。