GESP2025年6月认证C++五级( 第一部分选择题(1-8))


🎯 第1题:链表比数组插入更有效率

1、🌈故事

数组骑士 🧱 和 链表精灵 🔗 比赛:

👉 "谁在插入、删除时更快?"


2、🧠一步一步分析

① 数组:

  • 插入一个数 👉 后面都要往后挪 ❌

  • 删除一个数 👉 后面都要往前挪 ❌

② 链表:

  • 插入 👉 改指针就行 ✅

  • 删除 👉 改指针就行 ✅


3、✅结论

👉 链表更擅长:插入和删除

🎉答案:C

题目中,其他答案都是数组的专长。


4、📌小口诀

👉 数组要搬家,链表改指针



🎯 第2题:怎么判断链表是空的?

1、🌈故事

守门员问:

👉 "这个链表里面有没有人?"


2、🧠一步一步分析

判断"空"就是看:

① head 是不是空 👉 ✅

② tail 是不是空 👉 ✅

③ size 是不是 0 👉 ✅


3、❌错误选项:

👉 head.data == 0

问题:

  • head 是指针!

  • 不能直接用 .data


4、✅结论

🎉答案:C


5、📌小口诀

👉 判断空,看有没有节点,不看数值



🎯 第3题:往链表尾巴加人

1、🌈故事

队伍后面来了一个新同学 👦

👉 要接到最后!


2、🧠一步一步操作

① 让原尾巴指向新节点

👉 tail->next = newNode

② 新节点指回原尾巴

👉 newNode->prev = tail

③ 更新尾巴

👉 tail = newNode


3、✅结论

🎉答案:D


4、📌小口诀

👉 先连后指,最后换尾



🎯 第4题:约瑟夫淘汰游戏

1、🌈故事

一圈小朋友,每数到 k 淘汰一个 😵

现在要删除当前人!


2、🧠正确步骤

① 断开链

👉 prev->next = p->next

② 删除节点

👉 delete p

③ 移动到下一个

👉 p = prev->next


⚠️顺序不能乱!


3、✅结论

🎉答案:A


4、📌小口诀

👉 先断链 → 再删除 → 再移动



🎯 第5题:质数判断的小技巧

1、🌈故事

质数侦探在找(合数)


2、🧠关键规律

👉 大于3的质数,都在:

👉 6k ± 1

例如:

  • 5 = 6×1 -1

  • 7 = 6×1 +1

  • 11 = 6*2 -1

  • 13 = 6*2 +1


3、🧠分析选项

A ❌(代码已经特判5)

B ❌(不用检查到 n/2)

C ✅(核心规律)

D ❌ (慢了)


4、✅结论

🎉答案:C


5、📌小口诀

👉 质数藏在 6k±1



🎯 第6题:最大公约数(谁更快)

1、🌈故事

两个方法比赛:

  • 🐢 暴力枚举

  • ⚡ 欧几里得算法


2、🧠分析

👉 欧几里得(递归)更快 ✅


3、❌错误点:

👉 改成 i > 1

问题:

  • 如果最大公约数是1,就找不到了 ❌

4、✅结论

🎉答案:D


5、📌小口诀

👉 gcd 可能是1,不能漏!



🎯 第7题:找质数的三种方法

1、🌈故事

三位选手比赛:

1️⃣ 普通判断(慢)

2️⃣ 埃氏筛(很快)

3️⃣ 线性筛法比埃氏筛法更快,尤其在处理大范围数据时效率优势显著。


2、🧠比较

👉 速度:

普通 < 埃氏筛 < 线性筛


❌错误说法:

👉 "埃氏筛最快" ,说的太绝对,肯定不正确。


3、✅结论

🎉答案:D


4、📌小口诀

👉 埃氏筛法,线性筛都很快,

👉 小范围数据(如 n≤10^6):可以使用埃氏筛

👉 大范围数据(如 n≥10^7):一定要使用线性筛



🎯 第8题:唯一分解定理

1、🌈故事

每个数字都有"唯一拆分方式"


2、🧠规律

👉 每个数都能拆成:

👉 质数 × 质数 × ...

而且:

👉 只有一种拆法!


3、🧠举例

12 = 2 × 2 × 3

不能写成别的组合


4、✅结论

🎉答案:B


5、📌小口诀

👉 一个数 = 唯一的质数乘积


🌟 知识点总结:

1️⃣ 链表插删快

2️⃣ 判断空看指针

3️⃣ 插入三步走

4️⃣ 删除要顺序

5️⃣ 质数看6k±1

6️⃣ gcd不能漏1

7️⃣ 线性筛最快

8️⃣ 质数分解唯一


相关推荐
Hello:CodeWorld11 小时前
C 风格变参 vs C++ 变参模板:核心区别与选型指南
c语言·c++·算法
搬砖魁首13 小时前
基础能力系列 - 多线程2 - 条件变量
c++·rust·条件变量·原子类型·线程同步互斥
chase_my_dream13 小时前
C++ + SLAM 高频面试问题整理
开发语言·c++·面试
牛油果子哥q13 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
凡人叶枫15 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
不想写代码的星星15 小时前
std::move 根本不移动,就像老婆饼里没有老婆
c++
redaijufeng15 小时前
C++雾中风景7:闭包
c++·算法·风景
小欣加油16 小时前
leetcode287寻找重复数
数据结构·c++·算法·leetcode
思麟呀16 小时前
C++11 核心特性(三):强类型枚举、static_assert 与 std::tuple
开发语言·c++
一拳一个呆瓜16 小时前
【STL】C++程序的启动与终止
c++·stl