C/C++共64篇
计算机专业敲门砖。
【算法】十大排序算法的方法与C语言+Python实现 - AI科研 编程 读书笔记 - 小竹の笔记本

【算法】十大排序算法的方法与C语言+Python实现

本文总结一下我在算法课程中学习到的十大排序算法思路和C语言+Python实现。
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo1年前
01437
【C++】北京地铁线路小助手终版功能演示 - AI科研 编程 读书笔记 - 小竹の笔记本

【C++】北京地铁线路小助手终版功能演示

我开发了一款基于C++的北京地铁线路查询助手,融合了数据结构与算法知识,实现了多用户管理、线路动态调整、路径规划等特色功能。项目运用了封装/继承/多态等面向对象特性,结合DFS/BFS/弗洛伊...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
03398
【数据结构】邻接多重表C++实现(含DFS,BFS,弗洛伊德算法) - AI科研 编程 读书笔记 - 小竹の笔记本

【数据结构】邻接多重表C++实现(含DFS,BFS,弗洛伊德算法)

#include <iostream> using namespace std; // 边(Edge)节点 // T这个自定义类型就是弧上数据的类型,也就是info的类型。如果边上要存权值,可以设置为int,double等等 template<typena...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
012915
【C++】自定义泛型Vector类 - AI科研 编程 读书笔记 - 小竹の笔记本

【C++】自定义泛型Vector类

代码 #prlagma once #include <iostream> using namespace std; template <typename T> class MyVector { private: // 指向动态分配的数组 T* base; // 容器容量 int capacity; // 当前元...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
02276
【C++】调用Windows的TTS实现字符串语音合成 - AI科研 编程 读书笔记 - 小竹の笔记本

【C++】调用Windows的TTS实现字符串语音合成

我实现了一个基于Windows TTS的C++语音合成功能,通过封装ISpVoice接口实现字符串转语音输出。核心功能包括string到wstring的字符编码转换、语音速率调节,以及通过COM组件初始化语音合成引擎。...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
022912
【C++】可上下选择的菜单 - AI科研 编程 读书笔记 - 小竹の笔记本

【C++】可上下选择的菜单

我实现了一个基于C++的可上下选择的交互式菜单系统,使用W/S键控制光标移动。该系统通过控制台API实现了光标的精确定位和动态刷新,菜单包含8个功能选项(如站点查询、路线规划等),用户可通过...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
132213
【C++】自定义类型还敢用memcpy吗? - AI科研 编程 读书笔记 - 小竹の笔记本

【C++】自定义类型还敢用memcpy吗?

我在 C++ 编程中遇到了一个棘手的 bug,经过长时间调试,发现问题根源在于对自定义类型使用了 memcpy。memcpy 执行的是浅拷贝,导致多个对象指向同一块内存。当析构函数被多次调用时,会尝试释...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
01037
【递归】斐波那契数 - AI科研 编程 读书笔记 - 小竹の笔记本

【递归】斐波那契数

我探讨了斐波那契数的求解方法。虽然直接使用递归是直观的,但它会因大量重复计算子问题而导致效率低下,在数据量大时容易超时。为了优化,我提出了两种基于“备忘录”思想的方法来避免重复计算...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
017115
【模拟】旋转矩阵 - AI科研 编程 读书笔记 - 小竹の笔记本

【模拟】旋转矩阵

#include<stdio.h> int main(){ int n; scanf('%d',&n); int a[n][n]; int top=0,down=n-1,left=0,right=n-1,count=1; while(count<=n*n){ for (int i=left;i<=right;i++){ a[top]...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
06210
【模拟】各位相加 - AI科研 编程 读书笔记 - 小竹の笔记本

【模拟】各位相加

#include<iostream> using namespace std; int main(){ int num; cin >> num; while(num>9){ int total=0; while(num!=0){ total+=num%10; num/=10; } num = total; total = 0; } cout <&...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
01716
【模拟】二进制求和 - AI科研 编程 读书笔记 - 小竹の笔记本

【模拟】二进制求和

#include <iostream> using namespace std; string addBinary(string a, string b){ string res; int carry = 0;  // 进位 int i = a.size() - 1; int j = b.size() - 1; while(i >= 0 || j...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
015314
【C++】高精度减法 - AI科研 编程 读书笔记 - 小竹の笔记本

【C++】高精度减法

我实现了一个C++高精度减法算法。该方法的核心思想是模拟小学的竖式减法,通过字符串读取超过标准整型范围的大数,再将其倒序存入数组中。我通过比较两个数的大小来处理结果的正负,并实现了逐...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
014313
【C++】高精度加法 - AI科研 编程 读书笔记 - 小竹の笔记本

【C++】高精度加法

我实现了一个C++高精度加法算法。我的方法是模拟小学竖式加法,通过字符串读取大数,并将其倒序存入整型数组中,以便对齐进行计算。我逐位相加并处理进位,最终将存储结果的数组逆序输出,从而...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
01058
【C++】过河卒问题 - AI科研 编程 读书笔记 - 小竹の笔记本

【C++】过河卒问题

我通过动态规划方法解决了C++中的过河卒问题。我的方案首先考虑无马干扰的简化情况,路径数通过类似杨辉三角的递推计算。接着,我处理了有马的情况:在棋盘上标记出马及其所有控制点为障碍。在...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
016514
【C++】使用cpp-httplib库实现http通讯 - AI科研 编程 读书笔记 - 小竹の笔记本

【C++】使用cpp-httplib库实现http通讯

我介绍了如何使用 C++ 的 cpp-httplib 库实现 HTTP 通讯。我以通讯录云备份功能为例,详细展示了服务端和客户端的实现方法。在服务端,我创建了处理文件上传、下载和删除请求的路由。在客户端,...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
036411
【数据结构】顺序队列的基本操作(C++实现) - AI科研 编程 读书笔记 - 小竹の笔记本

【数据结构】顺序队列的基本操作(C++实现)

我介绍了数据结构中顺序队列的基本概念和 C++ 实现。我首先解释了队列是遵循先进先出(FIFO)原则的结构,并指出了顺序队列可能出现的“假溢出”问题,可通过循环队列解决。接着,我分别展示了...
SmallBamboo的头像 - AI科研 编程 读书笔记 - 小竹の笔记本SmallBamboo2年前
01547