CCF编程能力等级认证GESP—C++6级—20231209

CCF编程能力等级认证GESP—C++6级—20231209

  • 单选题(每题 2 分,共 30 分)
  • 判断题(每题 2 分,共 20 分)
  • 编程题 (每题 25 分,共 50 分)
    • 闯关游戏
    • 工作沟通
  • 答案及解析
    • 单选题
    • 判断题
    • 编程题1
    • 编程题2

单选题(每题 2 分,共 30 分)

1、关于C++类和对象的说法,错误的是( )。

A. 在C++中,一切皆对象,即便是字面量如整数5等也是对象
B. 在C++中,可以自定义新的类,并实例化为新的对象
C. 在C++中,内置函数和自定义函数,都是类或者对象
D. 在C++中,可以在自定义函数中嵌套定义新的函数

2、有关下面C++代码的说法,错误的是( )。

class Rectangle{
private:
	class Point{
	public:
		double x;
		double y;
	};
	Point a, b, c, d;
	double length;
	double width;
public:
A. C++中类内部可以嵌套定义类
B. 在类中定义的类被称为内部类,定义类的类被称为外部类
C. 内部类可以随便访问,不需要通过外部类来访问
D. 代码中 Point 被称为内部类,可以通过外部类 Rectangle 来访问, Rectangle::Point

3、有关下面C++代码的说法,正确的是( )。

using namespace std;
class newClass{
	public:
	static int objCounter;
};
int newClass::objCounter = 2;
int main() {
	newClass classA;
	newClass classB;
	cout << newClass::objCounter << endl;
	cout << classB.objCounter << endl; 
}
A.14行代码错误,第15行正确
B.15行代码错误,第14行代码正确
C.1415两行代码都正确
D.6行代码可修改为 objCounter += 1

4、有关下面C++代码的说法,错误的是( )。

struct BiNode{
	char data;
	BiNode* lchid, *rchid;
};
class BiTree{
private:
	BiNode* Creat();
	void Release(BiNode* bt);
	BiNode* root;
public:
	BiTree(){
		root = Creat();
	}
	~BiTree(){
		Release(root);
A. 上列C++代码适用于构造各种二叉树
B. 代码 struct BiNode 用于构造二叉树的节点
C. 代码 BiTree(){root=Creat();} 用于构造二叉树
D. 析构函数不可以省略

5、基于第4题的定义,有关下面C++代码的说法正确的是( )。

void Order(BiNode* bt){
	if (bt == nullptr)
		return;
	else{
		cout << bt->data;
		Order(bt->lchid);
		Order(bt->rchid);
	}
}
A. 代码中 Order( ) 函数是中序遍历二叉树的方法
B. 代码中 Order( ) 先访问根节点,然后对左子树进行前序遍历,再对右子树前序遍历
C. 代码中 Order( ) 先访问中序遍历左子树,然后访问根节点,最后则是中序遍历右子树
D. 代码中 Order( ) 先后序遍历左子树,然后后序遍历右子树,最后访问根节点

6、有关下面C++代码的说法正确的是( )。

typedef struct LinkList{
	int data;
	LinkList* next;
	LinkList* prev;
}LinkList, LinkNode;
bool ListInit(LinkList* &L){
	L = new LinkNode;
	if (!L) return false;
	
	L->next = NULL;
	L->prev = NULL;
	L->data = -1;
	
	return true;
}
A. 上述代码构成单向链表
B. 上述代码构成双向链表
C. 上述代码构成循环链表
D. 上述代码构成指针链表

7、对 hello world 使用霍夫曼编码(Huffman Coding),最少bit(比特)为( )。

A. 4
B. 32
C. 64
D. 88

8、下面的 fiboA() 和 fiboB() 两个函数分别实现斐波那契数列,该数列第1、第2项值为1,其余各项分别为前两项之和。下面有关说法错误的是( )。

int fiboA(int n){
	if (n == 0)
		return 1;
	if (n == 1)
		return 1;
	else{
		return fiboA(n - 1) + fiboA(n - 2);
	}
}
int fiboB(int n){
	if ((n == 0) || (n == 1)){
		fiboB[n] = n;
		return n;
	}else{
		if (fiboB[n] == 0){
			fiboB[n] = FiboB(n - 1) + FiboB(n - 2);
		}
		return fiboB[n];
	}
}
A. fiboA() 采用递归方式实现斐波那契数列
B. fiboB() 采用动态规划算法实现斐波那契数列
C. 当N值较大时, fiboA() 存在大量重复计算
D. 由于 fiboA() 代码较短,其执行效率较高

9、有关下面C++代码不正确的说法是( )。

int Depth(BiTree T){
	if (T == NULL){
		return 0;
	}else{
		int m = Depth(T->lchild);
		int n = Depth(T->rchild);
		if(m > n){
			return m + 1;
		}else{
			return n + 1;
		}
	}
}
A. 该代码可用于求解二叉树的深度
B. 代码中函数 Depth( ) 的参数 T 表示根节点,非根节点不可以作为参数
C. 代码中函数 Depth( ) 采用了递归方法
D. 代码中函数 Depth( ) 可用于求解各种形式的二叉树深度,要求该二叉树节点至少有 left 和 right 属性

10、下面有关树的存储,错误的是( ).

A. 完全二叉树可以用 list 存储
B. 一般二叉树都可以用 list 存储,空子树位置可以用 None 表示
C. 满二叉树可以用 list 存储
D. 树数据结构,都可以用 list 存储

11、构造二叉树 [1,2,3,null,4] ( )。

A. 1(2()(4))(3)
B. 1(2(3)())(4)
C. (1,2(3),(4))
D. (1,(2)(3),(4))

12、下面有关布尔类型的函数的说法,正确的是( )。

A. bool 类型函数只能返回0或者1两种值
B. bool 类型函数可以返回任何整数值
C. bool 类型函数必须有参数传递
D. bool 类型函数没有返回值

13、通讯卫星在通信网络系统中主要起到( )的作用。

A. 信息过滤
B. 信号中继
C. 避免攻击
D. 数据加密

14、小杨想编写一个判断任意输入的整数N是否为素数的程序,下面哪个方法不合适?( )

A. 埃氏筛法
B. 线性筛法
C. 二分答案
D. 枚举法

15、内排序有不同的类别,下面哪种排序算法和冒泡排序是同一类?( )

A. 希尔排序
B. 快速排序
C. 堆排序
D. 插入排序

判断题(每题 2 分,共 20 分)

1、 在面向对象中,方法在C++的class中表现为class内定义的函数。( )

2、C++类的定义中,可以没有构造函数,会给出默认的构造函数( )

3、如果某个C++对象(object)支持下标运算符(方括号运算符),则该对象在所对应class中以成员函数的形式进行了重载。( )

4、 深度优先搜索(DFS,Depth First Search的简写)属于图算法,其过程是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。( )

5、 哈夫曼编码(Huffman Coding)具有唯一性,因此有确定的压缩率。 ( )

6、在下面C++代码中,由于删除了变量 ptr ,因此 ptr 所对应的数据也随之删除,故第8行代码被执行时,将报错。( )

	int * ptr = new int(10);
	cout << *ptr << endl;
	delete ptr;
	cout << *ptr << endl;

7、 二叉搜索树查找的平均时间复杂度为 O(logN)。( )

8、二叉搜索树可以是空树(没有任何节点)或者单节点树(只有一个节点),或者多节点。如果是多节点,则左节点的值小于父节点的值,右节点的值大于父节点的值,由此推理,右节点树的值都大于根节点的值,左节点树的值都小于根节点的值。( )

9、 小杨想写一个程序来算出正整数N有多少个因数,经过思考他写出了一个重复没有超过N/2次的循环就能够算出来了。( )

10、同样的整数序列分别保存在单链表和双向链中,这两种链表上的简单冒泡排序的复杂度相同。( )

编程题 (每题 25 分,共 50 分)

闯关游戏

【问题描述】
你来到了一个闯关游戏。
这个游戏总共有 N 关,每关都有 M 个通道,你需要选择一个通道并通往后续关卡。其中,第 i 个通道可以让你前进 a 关,也就是说,如果你现在在第 x 关,那么选择第 i 个通道后,你将直接来到第x + ai 关(特别地,如果x + ai >= N,那么你就通关了)。此外,当你顺利离开第 s 关时,你还将获得 bs 分。
游戏开始时,你在第 0 关。请问,你通关时最多能获得多少总分?
【输入描述】
第一行两个整数N ,M分别表示关卡数量和每关的通道数量。
接下来一行 M 个用单个空格隔开的整数 a 0 , a 1 , . . . , a M − 1 a_0,a_1,...,a_{M-1} a0,a1,...,aM1 。保证 1 <= ai <= N。
接下来一行 N 个用单个空格隔开的整数 b 0 , b 1 , . . . , b N − 1 b_0,b_1,...,b_{N-1} b0,b1,...,bN1 。保证 ∣ b i ∣ < = 1 0 5 |b_i| <= 10^5 bi<=105
【输出描述】
一行一个整数,表示你通关时最多能够获得的分数。
【特别提醒】
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
【样例输入 1】
6 2
2 3
1 0 30 100 30 30
【样例输出 1】
131
【样例解释 1】
你可以在第0 关选择第1 个通道,获得1 分并来到第3 关;随后再选择第0 个通道,获得100 分并来到第5 关;最后任选一个通道,都可以获得30 分并通关。如此,总得分为 1 + 100 + 30 = 131。
【样例输入 2】
6 2
2 3
1 0 30 100 30 -1
【样例输出 2】
101
【样例解释 1】
请注意,一些关卡的得分可能是负数。
【数据规模】
对于20%的测试点,保证M = 1 。
对于40%的测试点,保证N <= 20 ;保证M <= 2 。
对于所有测试点,保证N <= 1 0 4 10^4 104 ;保证M <= 100 。

工作沟通

【问题描述】
某公司有N 名员工,编号从0 至N-1 。其中,除了0 号员工是老板,其余每名员工都有一个直接领导。我们假设编号为i 的员工的直接领导是fi 。
该公司有严格的管理制度,每位员工只能受到本人或本人直接领导或间接领导的管理。具体来说,规定员工x 可以管理员工y ,当且仅当x = y ,或x = fy ,或x 可以管理fy 。特别地, 0号员工老板只能自我管理,无法由其他任何员工管理。
现在,有一些同事要开展合作,他们希望找到一位同事来主持这场合作,这位同事必须能够管理参与合作的所有同
事。如果有多名满足这一条件的员工,他们希望找到编号最大的员工。你能帮帮他们吗?
【输入描述】
第一行一个整数N ,表示员工的数量。
第二行N - 1 个用空格隔开的正整数,依次为f1,f2,…,fN-1 。
第三行一个整数Q ,表示共有Q 场合作需要安排。
接下来Q 行,每行描述一场合作:开头是一个整数 m(2<=m<=N ),表示参与本次合作的员工数量;接着是m个整数,依次表示参与本次合作的员工编号(保证编号合法且不重复)。
保证公司结构合法,即不存在任意一名员工,其本人是自己的直接或间接领导。
【输出描述】
输出 Q行,每行一个整数,依次为每场合作的主持人选。
【特别提醒】
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
【样例输入 1】
5
0 0 2 2
3
2 3 4
3 2 3 4
2 1 4
【样例输出 1】
2
2
0
【样例解释 1】
对于第一场合作,员工3,4 有共同领导2 ,可以主持合作。
对于第二场合作,员工2 本人即可以管理所有参与者。
对于第三场合作,只有0 号老板才能管理所有员工。
【样例输入 2】
7
0 1 0 2 1 2
5
2 4 6
2 4 5
3 4 5 6
4 2 4 5 6
2 3 4
【样例输出 2】
2
1
1
1
0

【数据规模】
对于50%的测试点,保证N <= 50 。
对于所有测试点,保证3 <= N <= 300 ;Q <= 100 。

答案及解析

单选题

1、
【答案】D
【考纲知识点】语法知识点
【解析】自定义函数中不能嵌套定义新函数。

2、
【答案】C
【考纲知识点】语法知识点
【解析】内部类是需要通过外部类访问的。

3、
【答案】C
【考纲知识点】语法知识点
【解析】objCounter 是静态成员,2 种方式都可以访问。

4、
【答案】D
【考纲知识点】语法知识点
【解析】析构函数可以省略。系统可以默认一个析构函数。

5、
【答案】B
【考纲知识点】数据结构知识点
【解析】对二叉树的先序遍历,根左右。

6、
【答案】B
【考纲知识点】数据结构知识点
【解析】实现一个链表,指向前面和后面的元素。

7、
【答案】B
【考纲知识点】数据结构知识点
【解析】赫夫曼编码。按照出现次数进行赫夫曼编码,如下图。共32bit。

在这里插入图片描述

8、
【答案】D
【考纲知识点】算法知识点
【解析】fiboA 函数会存在重复计算,执行效率不高。

9、
【答案】B
【考纲知识点】数据结构知识点
【解析】左右孩子也可以作为参数,不一定只有根节点。

10、
【答案】D
【考纲知识点】数据结构知识点
【解析】完全二叉树和满二叉树的节点下标是连续的,其他类型的节点数不确定,下标不一定连续,就不宜用 list 存储。

11、
【答案】A
【考纲知识点】数据结构知识点
【解析】构造二叉树,用括号表示法。1 是根结点,其左右孩子为2,3,写成1(2)(3)。用同样的思路构建左子树和右子树,选 A。

12、
【答案】A
【考纲知识点】语言函数知识点
【解析】bool 类型函数只能返回布尔类型,布尔值只有0 或者1。

13、
【答案】B
【考纲知识点】计算机基础知识
【解析】本题考察计算机基础知识。通信卫星可以转发无线电信号,实现通信地球站间或地球站与航天器间的无线电通信,因此具有信号中继作用。选B。

14、
【答案】C
【考纲知识点】数学知识
【解析】本题考察数学知识。线筛和埃筛都可以判断素数,枚举也可以,二分规模减半,不能合理判断。

15、
【答案】B
【考纲知识点】排序知识
【解析】冒泡排序和快速排序,都属于交换排序。
交换排序:冒泡排序、快速排序
选择排序:简单选择排序、堆排序
插入排序:直接插入排序、希尔排序
归并排序
基数排序

判断题

1、
【答案】正确
【考纲知识点】c++语言知识
【解析】方法在 c++中也就是类内的函数。

2、
【答案】正确
【考纲知识点】c++语言知识
【解析】构造函数没有,系统会给一个默认的构造函数。

3、
【答案】正确
【考纲知识点】c++语言知识
【解析】标准库类型 vector 和 string 都重载了下标运算符。

4、
【答案】正确
【考纲知识点】算法知识
【解析】深搜就是“能深则深、不能深则退”。

5、
【答案】错误
【考纲知识点】算法知识
【解析】哈夫曼编码确实是唯一的。但是,这并不意味着它总是有确定的压缩率。压缩率通常定义为压缩后数据大小与原始数据大小的比值。对于哈夫曼编码来说,压缩率会受到输入数据的特性(如字符频率分布)的影响。不同的输入数据,即使使用相同的哈夫曼编码算法,也可能得到不同的压缩率。

6、
【答案】错误
【考纲知识点】语法知识
【解析】一个指针的指向对象已被删除,那么就成了悬空指针。指针本身仍然存在,但它的指向变得不确定,因为原来的内存已经被释放并可能被重新分配给其他用途。可能会导致程序崩溃,但是可能正常执行。

7、
【答案】正确
【考纲知识点】数据结构知识
【解析】若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树。平均情况下是一分为二。

8、
【答案】正确
【考纲知识点】数据结构知识
【解析】若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树。平均情况下是一分为二。

9、
【答案】正确
【考纲知识点】算法知识
【解析】可以的。N 除了自身,只能有 1 个大于等于n/2 的因子。

10、
【答案】正确
【考纲知识点】算法知识
【解析】都是相邻的数字交换。

编程题1

1、
【题目大意】从 0 关出发,每次都有 m 种选择,选的的第i 个关卡,到达的下一个关卡是 0+ mi。当关卡的总和大于等于 N 的时候,便停止游戏。注意,离开第 i 个关卡,可以获得关卡的分数。
【考纲知识点】循环知识,动态规划
【解题思路】可以考虑动态规划。每关都是一个阶段,每关增加的都是一个正数,关数增加是单向的。保存好某个阶段的状态,因为是离开才能获得分数,因此不能加上当前关卡的分数。可求出所有阶段的最值,因为可能存在某关是负值,要求出所有状态的最大值。


编程题2

2、
【题目大意】0 号是老板,一个人可以管理自己,管理直接下属,管理下属的下属。可以根据关系建立起树结构。现在要求有 m 个人自己组织会议,要找一个人主持会议。如果 m 个人中能主持就从 m 个人中选,不能就找上级领导,有多个选择,就求出最大的编号。注意,参会和主持的角色不一样。
【考纲知识点】循环知识,树结构,深搜,有根树
【解题思路】首先要建立树结构,根据父子关系,求出节点的结构,并求出对应的层数。针对每次查询,先看一下 m 个人中,层数最低的能不能主持会议,不能就从上级中选取,结果最小就是 0 号来主持。注意,要编号最大的,因此在筛选的时候从大到小去筛选。根据层中的第 i 个节点去判断能否访问到m中的每个孩子,如果是,那就可以主持。假设 3 和 1 都符合,也在同一层,但是倒序查找,找到 3 就退出了。符合最终答案。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/390930.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二叉树入门算法题详解

二叉树入门题目详解 首先知道二叉树是什么&#xff1a; 代码随想录 (programmercarl.com) 了解后知道其实二叉树就是特殊的链表&#xff0c;只是每个根节点节点都与两个子节点相连而其实图也是特殊的链表&#xff0c;是很多节点互相连接&#xff1b;这样说只是便于理解和定义…

安卓TextView 拖动命名

需求&#xff1a;该布局文件使用线性布局来排列三个文本视图和一个按钮&#xff0c;分别用于显示两个动物名称以及占位文本视图。在占位文本视图中&#xff0c;我们为其设置了背景和居中显示样式&#xff0c;并用其作为接收拖放操作的目标 效果图&#xff1b; 实现代码 第一布…

大数据02-数据仓库

零、文章目录 大数据02-数据仓库 1、数据仓库介绍 &#xff08;1&#xff09;基本概念 数据仓库&#xff0c;英文名称为Data Warehouse&#xff0c;可简写为DW或DWH。数据仓库的目的是构建面向分析的集成化数据环境&#xff0c;为企业提供决策支持&#xff08;Decision Sup…

牛客网SQL进阶123:高难度试卷的得分的截断平均值

官网链接&#xff1a; SQL类别高难度试卷得分的截断平均值_牛客题霸_牛客网牛客的运营同学想要查看大家在SQL类别中高难度试卷的得分情况。 请你帮她从exam_。题目来自【牛客题霸】https://www.nowcoder.com/practice/a690f76a718242fd80757115d305be45?tpId240&tqId2180…

[Android]Frida-hook环境配置

准备阶段 反编译工具:Jadx能够理解Java语言能编写小型的JavaScript代码连接工具:adb设备:Root的安卓机器&#xff0c;或者模拟器 Frida&#xff08;https://frida.re/&#xff09; 就像是你计算机或移动设备的妙妙工具。它帮助你查看其他程序或应用内部发生的事情&#xff0…

OpenAI发布文生视频大模型Sora

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 一觉醒来发现自己快失业了&#xff0c;Open AI又放大招了。没有任何消息&#xff0c;没有任何预热&#xff0c;直接王炸。 OpenAI突然发布文生视频大模型Sora&#xff0c;生成一段长达1分钟的高清流畅视频。它能模…

机器学习8-决策树

决策树&#xff08;Decision Tree&#xff09;是一种强大且灵活的机器学习算法&#xff0c;可用于分类和回归问题。它通过从数据中学习一系列规则来建立模型&#xff0c;这些规则对输入数据进行递归的分割&#xff0c;直到达到某个终止条件。 决策树的构建过程&#xff1a; 1.…

selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id‘

Selenium更新到 4.x版本后&#xff0c;以前的一些常用的代码的语法发生了改变 from selenium import webdriver browser webdriver.Chrome() browser.get(https://www.baidu.com) input browser.find_element_by_id(By.ID,kw) input.send_keys(Python)目标&#xff1a;希望通…

Python静态方法和类方法的区别和应用

实际上&#xff0c;Python 完全支持定义类方法&#xff0c;甚至支持定义静态方法。Python 的类方法和静态方法很相似&#xff0c;它们都推荐使用类来调用&#xff08;其实也可使用对象来调用&#xff09;。 类方法和静态方法的区别在于&#xff0c;Python会自动绑定类方法的第…

第三节:基于 InternLM 和 LangChain 搭建你的知识库(课程笔记)

视频链接&#xff1a;https://www.bilibili.com/video/BV1sT4y1p71V/?vd_source3bbd0d74033e31cbca9ee35e111ed3d1 文档地址&#xff1a; https://github.com/InternLM/tutorial/tree/main/langchain 课程笔记&#xff1a; 1.仅仅包含训练时间点之前的数据&#xff0c;无法…

Redis篇----第一篇

系列文章目录 文章目录 系列文章目录前言一、什么是 Redis?二、Redis 与其他 key-value 存储有什么不同?三、Redis 的数据类型?四、使用 Redis 有哪些好处?五、Redis 相比 Memcached 有哪些优势?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住…

wordpress外贸成品网站模板

首页大图slider轮播&#xff0c;橙色风格的wordpress外贸网站模板 https://www.zhanyes.com/waimao/6250.html 蓝色经典风格的wordpress外贸建站模板 https://www.zhanyes.com/waimao/6263.html

智能汽车专题:智能驾驶2023年度报告

今天分享的是智能汽车系列深度研究报告&#xff1a;《智能汽车专题&#xff1a;智能驾驶2023年度报告》。 &#xff08;报告出品方&#xff1a;量子位智库&#xff09; 报告共计&#xff1a;30页 来源&#xff1a;人工智能学派 顶天立地&#xff1a;技术进阶路线明晰 根据…

P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G题解

题目 在一个果园里&#xff0c;多多已经将所有的果子打了下来&#xff0c;而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并&#xff0c;多多可以把两堆果子合并到一起&#xff0c;消耗的体力等于两堆果子的重量之和。可以看出&#xff0c;所…

物联网技术的崛起:驱动智慧景区的新篇章

随着科技的飞速发展&#xff0c;物联网技术逐渐成为推动各行各业创新的重要力量。在旅游业中&#xff0c;物联网的应用为智慧景区的建设提供了有力支持&#xff0c;为游客带来了更加便捷、智能的旅游体验。本文将探讨物联网技术在智慧景区中的应用及其对旅游业的影响&#xff0…

vue3-深入响应式系统

Vue 最标志性的功能就是其低侵入性的响应式系统。组件状态都是由响应式的 JavaScript 对象组成的。当更改它们时&#xff0c;视图会随即自动更新。这让状态管理更加简单直观&#xff0c;但理解它是如何工作的也是很重要的&#xff0c;这可以帮助我们避免一些常见的陷阱。在本节…

DDD爱好者通病-《软件方法》自测题解析37

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 《软件方法》第5章自测题2 5 [ 单选题 ] 我们经常会听到有人说“系统分为几个功能模块”。针对“功能模块”&#xff0c;以下说法正确的是&#xff1a;  A) 它把外部和内部混在一…

蓝桥杯:C++二分算法

在基本算法中&#xff0c;二分法的应用非常广泛&#xff0c;它是一种思路简单、编程容易、效率极高的算法。蓝桥杯软件类大赛中需要应用二分法的题目很常见。 二分法有整数二分和实数二分两种应用场景 二分法的概念 二分法的概念很简单&#xff0c;每次把搜索范围缩小为上一…

Linux POSIX信号量 线程池

Linux POSIX信号量 线程池 一. 什么是POSIX信号量&#xff1f;二. POSIX信号量实现原理三. POSIX信号量接口函数四. 基于环形队列的生产消费模型五. 线程池 一. 什么是POSIX信号量&#xff1f; POSIX信号量是一种用于同步和互斥操作的机制&#xff0c;属于POSIX&#xff08;Po…

WINCC如何新增下单菜单,切换显示页面

杭州工控赖工 首先我们先看一下&#xff0c;显示的效果&#xff0c;通过下拉菜单&#xff0c;切换主显示页面。如图一&#xff1a; 图1 显示效果 第一步&#xff1a; 通过元件新增一个组合框&#xff0c;见图2&#xff1b; 组合框的设置&#xff0c;设置下拉框的长宽及组合数…