
C/C++/数据结构
文章平均质量分 80
学习C/C++的心得
kingofyb
BEng 英国约克大学 Computer Science
MSc 英国伦敦大学学院ucl Information Security在读
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Leetcode刷题笔记15
724. 寻找数组的中心下标238. 除自身以外数组的乘积974. 和可被 K 整除的子数组原创 2024-11-25 01:18:46 · 962 阅读 · 0 评论 -
Leetcode刷题笔记14
136. 只出现一次的数字118. 杨辉三角26. 删除有序数组中的重复项17. 电话号码的字母组合原创 2024-11-14 05:50:12 · 1071 阅读 · 0 评论 -
Leetcode刷题笔记13
DP35 【模板】二维前缀和13. 罗马数字转整数28. 找出字符串中第一个匹配项的下标66. 加一原创 2024-10-27 02:09:15 · 658 阅读 · 0 评论 -
Leetcode刷题笔记12
HJ1 字符串最后一个单词的长度541. 反转字符串 II557. 反转字符串中的单词 III125. 验证回文串原创 2024-10-25 01:37:44 · 1109 阅读 · 0 评论 -
Leetcode刷题笔记11
string415. 字符串相加 - 力扣(LeetCode)21. 合并两个有序链表 - 力扣(LeetCode)917. 仅仅反转字母 - 力扣(LeetCode)387. 字符串中的第一个唯一字符 - 力扣(LeetCode)原创 2024-06-15 05:14:10 · 950 阅读 · 0 评论 -
C++模板初阶
模板初阶原创 2024-06-13 02:39:32 · 753 阅读 · 0 评论 -
Leetcode刷题笔记10
string、栈14. 最长公共前缀 - 力扣(LeetCode)20. 有效的括号 - 力扣(LeetCode)计算日期到天数转换_牛客题霸_牛客网 (nowcoder.com)原创 2024-06-13 01:45:03 · 1033 阅读 · 0 评论 -
Leetcode刷题笔记9
前缀和、哈希表、反转数字1. 两数之和 - 力扣(LeetCode)9. 回文数 - 力扣(LeetCode)【模板】前缀和_牛客题霸_牛客网 (nowcoder.com)原创 2024-06-11 02:06:56 · 808 阅读 · 0 评论 -
Leetcode刷题笔记8
二分查找162. 寻找峰值 - 力扣(LeetCode)153. 寻找旋转排序数组中的最小值 - 力扣(LeetCode)剑指 offer 53 - II:0~n-1中缺失的数字原创 2024-06-10 02:48:39 · 740 阅读 · 0 评论 -
Leetcode刷题笔记7
二分查找69. x 的平方根 - 力扣(LeetCode)35. 搜索插入位置 - 力扣(LeetCode)852. 山脉数组的峰顶索引 - 力扣(LeetCode)原创 2024-05-30 22:47:04 · 1170 阅读 · 0 评论 -
Leetcode刷题笔记6
二分查找 - 详细解释34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣(LeetCode)原创 2024-05-30 22:37:44 · 928 阅读 · 0 评论 -
C++实现日期类(类和对象总结与实践)
C++实现日期类(类和对象总结与实践)原创 2024-05-28 05:33:49 · 803 阅读 · 0 评论 -
Leetcode刷题笔记5
滑动窗口、二分查找、构造函数76. 最小覆盖子串 - 力扣(LeetCode)704. 二分查找 - 力扣(LeetCode)求1+2+3+...+n_牛客题霸_牛客网 (nowcoder.com)原创 2024-05-28 04:21:37 · 1032 阅读 · 0 评论 -
C++成员函数 - 析构函数
类和对象 - 拷贝构造,析构函数,实现日期类原创 2024-05-25 22:55:16 · 567 阅读 · 0 评论 -
Leetcode刷题笔记4
滑动窗口1658. 将 x 减到 0 的最小操作数 - 力扣(LeetCode)904. 水果成篮 - 力扣(LeetCode)438. 找到字符串中所有字母异位词 - 力扣(LeetCode)30. 串联所有单词的子串 - 力扣(LeetCode)原创 2024-05-25 19:10:23 · 1173 阅读 · 0 评论 -
Leetcode刷题笔记3
滑动窗口18. 四数之和 - 力扣(LeetCode)209. 长度最小的子数组 - 力扣(LeetCode)3. 无重复字符的最长子串 - 力扣(LeetCode)1004. 最大连续1的个数 III原创 2024-05-21 20:24:16 · 950 阅读 · 0 评论 -
Leetcode刷题笔记2
283. 移动零 - 力扣(LeetCode)1089. 复写零 - 力扣(LeetCode)202. 快乐数 - 力扣(LeetCode)原创 2024-05-19 22:54:58 · 766 阅读 · 0 评论 -
Leetcode刷题笔记1
Leetcode - 11. 盛最多水的容器Leetcode - 611. 有效三角形的个数剑指 Offer 57. 和为s的两个数字Leetcode - 15. 三数之和原创 2024-05-19 22:19:46 · 930 阅读 · 0 评论 -
C语言中指针的进阶概念及应用
C语言中指针的进阶概念及应用原创 2023-12-05 00:31:06 · 517 阅读 · 0 评论 -
柔性数组(Flexible Array Members)在C语言中的应用
柔性数组在C语言中的应用原创 2023-12-04 03:37:55 · 730 阅读 · 0 评论 -
C语言中的动态内存管理
C语言动态内存管理原创 2023-12-04 03:22:23 · 1269 阅读 · 0 评论 -
二分查找算法的C语言实现以及复杂度分析
二分查找算法的C语言实现以及复杂度分析原创 2023-12-02 04:25:07 · 690 阅读 · 0 评论 -
C++学习笔记:类与对象1
C++的引用和内联函数原创 2023-11-18 02:53:10 · 154 阅读 · 0 评论 -
C++初阶/入门
C++(入门概念)原创 2022-10-05 04:37:01 · 360 阅读 · 0 评论 -
排序(C语言/数据结构)
C语言排序原创 2022-09-15 01:54:15 · 311 阅读 · 0 评论 -
C语言文件预处理/预编译/宏定义
C语言的源文件打印到窗口其实不像我们表面看到的那么简单首先,它要经过两个环境翻译环境总的来说,翻译环境就是 源文件通过预处理,然后编译、汇编成、obj文件随后和链接库形成可执行文件运行环境程序执行的过程可以分为4步1. 程序必须载入内存中。在有操作系统的环境中:一般这个操作由操作系统完成。在独立的环境中,程序的载入必须由手工安排,也可以通过可执行代码置入只读内存来完成。2. 程序的执行开始,接着调用main函数。3. 开始执行程序代码。这个时候程.原创 2022-03-30 04:03:49 · 454 阅读 · 0 评论 -
C语言翻译环境、文件操作关键字
//scanf 从标准输入流(stdin)上进行格式化输入的函数//printf 向标准输出流(stdout)上进行格式化的输出函数//fscanf 可以从标准输入流、或者是指定的文件上读取格式化的数据//fprintf 把数据按照格式化的方式输出到标准输出流、或者指定的文件流//sscanf 可以从一个字符串中提取(转化)出格式化数据//sprintf 把一个格式化的数据转换成字符串feofint feof( FILE *stream );feof不能直接用来判断文件是否结束,.原创 2022-03-27 23:15:00 · 795 阅读 · 0 评论 -
C语言动态内存常见错误
目录1.对NULL指针的解引用操作2.对动态开辟空间的越界访问3.对非动态开辟内存使用free释放4.使用free释放一块动态开辟内存的一部分5.对同一块动态内存多次释放6.动态开辟内存忘记释放(内存泄漏)对NULL指针的解引用操作int main(){ int* p = (int*)malloc(INT_MAX); if (p == NULL) return 0; int i = 0; for (i = 0; i < 10; i++) {原创 2022-03-11 02:27:47 · 218 阅读 · 0 评论 -
位段、联合体、动态内存浅谈
位段位段的声明和结构体是类似的,有两个不同:1.位段的成员必须是int, unsigned int 或 signed int2.位段的成员名后面有一个冒号和一个数字比如int age:10; 就是给age十个比特位struct S{ char a : 3;//5 char b : 4;//1 //开辟新字节 char c : 5;//3 //开辟新字节 char d : 4;};int main(){ int a = 10; int b = 20; st原创 2022-02-28 03:02:56 · 192 阅读 · 0 评论 -
模拟实现memcpy和memmove
1.memcpy先上代码#include<stdio.h>#include<string.h>#include<assert.h>void* my_memcpy(void* dest, const void* src, size_t num)//num - 字节{ void* ret = dest; assert(dest && src); while (num--) { *(char*)dest = *(char*)src;原创 2022-02-23 02:21:06 · 751 阅读 · 0 评论 -
数据在内存中的存储(C语言)
1.数据类型介绍char 字符数据类型 short 短整型 int 整型 long 长整型long long 更长的整型 float 单精度浮点数 double 双精度浮点数整型类型:charshort int long可分为有符号 signed 和 无符号unsigned类型浮点类型:floa...原创 2021-12-03 18:53:19 · 149 阅读 · 0 评论 -
C语言实现简易扫雷
设定一个9x9的棋盘其中包含十个地雷,每次玩家选了一个位置之后那个坐标会返回一个整型数字,代表周围八个坐标内地雷的数量;如果选的为地雷则游戏失败;如果选完了除了地雷所在的坐标,则玩家获胜首先,需要三个文件1.game.h 实现大部分函数的声明以及引用的其他的头文件2.game,c 游戏各种逻辑函数的定义3.test.c 主函数以及游戏的测试我的思路是这样的,想让主函数看起来更简洁一些,所以创建一个test()函数,把所有测试都放在内下一步,设定几种情况:如果玩家选1则开始游戏原创 2021-11-13 00:26:16 · 3088 阅读 · 0 评论 -
C语言简易三子棋-设计与代码实现
三子棋:玩家下棋使用'*',电脑下棋使用'#',哪一方先将三点连成一条线(横着竖着斜着都可以)则获胜。我的思路是这样的:分成三部分 test.c, game.c, game.h其中game.h主要放头文件和各类函数的声明game.c主要包含游戏的各类逻辑比如电脑是如何下棋的test.c主要实现游戏主逻辑以及测试1.test.c首先,为了使主函数看起来更简洁所以我只放了一个test()函数在主函数内.接着,实现test()函数首先,需要一个菜单让玩家选择玩游戏还是退出.原创 2021-11-10 03:12:09 · 216 阅读 · 0 评论