这是一个C++头文件库,提供了多种功能以及丰富的WinApi接口,它由pztsdy维护。
- 操作系统 Windows(为保证稳定性,请勿擅自修改代码以在其它系统(如Linux, MacOS))
- 系统架构 x86_64, x64 (,x32 有待考证)
- 系统版本 Windows 7及以上,尽量使用64位系统
- 软件 编译器g++.exe,需要mingw或mingw-w64
开始使用:克隆此存储库以开始使用,或定位到release页面下载某版本使用
在您编译您的程序时,如果您引用的头文件包含 wapi.hpp
,那么请您注意,在使用g++编译时添加 -lole32 -lversion
命令。否则会导致编译不通过。
- 打开你的编译器IncludePath
- 新建目录Cpp2025
- 将release中的版本归档文件解压并释放到Cpp2025目录中
- 要使用时,将你需要的头文件导入,如:
#include <Cpp2025/Algorithm.hpp>
使用#include <Cpp2025/all.h>
以开始使用,若导入了all.h
就相当于导入了所有C++2025头文件
这是一个快速排序的自定义排序函数头文件,其中包含多个快排自定义函数(返回值均为bool类型),包括:
int_small_to_big(int x, int y)
- 用于int类型,从小到大int_big_to_small(int x, int y)
- 用于int类型,从大到小int_oFjS(int x, int y)
- 用于int类型,偶数先,奇数后,其余从大到小ll_small_to_big(long long x, long long y)
- 用于long long 类型,从小到大ll_big_to_small(long long x, long long y)
- 用于long long 类型,从大到小
注:在define.h
已经定义#define ll long long
,所以,ll
即可表示long long
类型
这是一个Windows API参考代码库,定义了一些常用的Windows程序接口和功能。
用于设置控制台文本颜色:
TEXT_RED
,TEXT_GREEN
,TEXT_BLUE
,TEXT_LIGHT
- 文本颜色BG_RED
,BG_GREEN
,BG_BLUE
,BG_LIGHT
- 背景颜色
pause()
- 显示"按任意键继续..."并等待用户按键cls()
- 清空控制台屏幕clearcolor(HANDLE handle, bool isUseDosMode, bool isUseDosCommandCls)
- 重置控制台文本颜色handle
: 控制台句柄isUseDosMode
: 是否使用DOS命令color
重置isUseDosCommandCls
: 是否同时清屏
colorclear(HANDLE handle)
- clearcolor()的简化版本,相当于参数2和3为falseHideCursor()
- 隐藏控制台光标ShowCursor()
- 显示控制台光标
MoveMouse(POINT &mouse, int x, int y)
- 移动鼠标到指定坐标SetWindowTitle(HWND hwnd, const char *title)
- 设置窗口标题GetScreenResolution(int &width, int &height)
- 获取屏幕分辨率
SetSystemVolume(DWORD volume)
- 设置系统音量(0-100)GetSystemTimeStr(char *timeStr)
- 获取系统时间字符串SimulateKeyPress(WORD key)
- 模拟键盘按键SimulateMouseClick(int x, int y)
- 模拟鼠标点击SimulateMouseMove(int x, int y)
- 模拟鼠标移动GetMousePosition(int &x, int &y)
- 获取鼠标位置GetWindowHandle(const char *title)
- 获取窗口句柄GetWindowPosition(HWND hwnd, int &x, int &y)
- 获取窗口位置SetWindowPosition(HWND hwnd, int x, int y)
- 设置窗口位置GetWindowSize(HWND hwnd, int &width, int &height)
- 获取窗口大小SetWindowSize(HWND hwnd, int width, int height)
- 设置窗口大小GetWindowTitle(HWND hwnd, char *title)
- 获取窗口标题GetWindowClassName(HWND hwnd, char *className)
- 获取窗口类名GetWindowProcessId(HWND hwnd)
- 获取窗口进程IDGetWindowParent(HWND hwnd)
- 获取窗口父窗口GetWindowChild(HWND hwnd)
- 获取窗口子窗口GetWindowNext(HWND hwnd)
- 获取窗口兄弟窗口GetWindowLevel(HWND hwnd)
- 获取窗口层级GetWindowClassStyle(HWND hwnd)
- 获取窗口类样式GetWindowProcessHandle(HWND hwnd)
- 获取窗口进程句柄SetWindowChild(HWND hwnd, HWND parent)
- 设置一个窗口为另一个窗口的子窗口SetWindowParent(HWND hwnd, HWND child)
- 设置一个窗口为另一个窗口的父窗口
包含了一些常用的算法函数,包括递归和数学运算。
int factorial(int n)
- 计算整数n
的阶乘int fibonacci(int n)
- 计算第n
个斐波那契数int Pow(int x, int n)
- 计算x
的n
次幂int gcd(int a, int b)
- 计算两个整数a
和b
的最大公约数int lcm(int a, int b)
- 计算两个整数a
和b
的最小公倍数bool isPrime(int n)
- 判断整数n
是否为素数std::vector<int> sieve_prime(int n)
- 使用埃拉托色尼筛法找出小于等于n
的所有素数int binarySearch(const std::vector<int>& arr, int target)
- 在有序数组中查找目标值int quickSelect(std::vector<int>& arr, int left, int right, int k)
- 在数组中查找第k
小的元素int selectKthSmallest(std::vector<int>& arr, int k)
- 查找数组中第k
小的元素int partition(std::vector<int>& arr, int left, int right, int pivotIndex)
- 分区函数,用于快速选择算法
展示了如何使用 wapi.hpp
中的函数进行一些基本的Windows操作。
展示了如何使用 sortcmp.hpp
中的函数进行排序操作。
展示了如何使用 Algorithm.hpp
中的函数进行一些基本的算法操作。
展示了如何使用 wapi.hpp
中的函数创建和操作窗口。
本项目使用MIT许可证,详见LICENSE
文件。