
C/C++
文章平均质量分 96
C/C++的学习历程
_ 菜 -∞
星光不问赶路人,时光不负有心人
展开
-
浅析Git的产生,发展和配置规则
Git的产生的历史原因,各种版本控制的区别(git 和 SVN的区别),Git中配置文件的规则(.gitignore忽略文件)原创 2021-02-19 21:46:43 · 984 阅读 · 3 评论 -
设计模式之结构型模式与行为模式
设计模式中,结构型模式与行为模式,选择其中几种进行解释,附上类图与简单模拟程序原创 2020-12-29 21:44:01 · 1623 阅读 · 0 评论 -
设计模式之创建型模式
使用C++语言实现的设计模式中的创建型模式,以简单场景和类图的方式进行建模原创 2020-12-28 21:38:40 · 217 阅读 · 0 评论 -
编译原理,递归下降分析器
编译原理实验,C/C++实现递归下降分析法的语法分析器原创 2020-12-11 22:00:14 · 1349 阅读 · 0 评论 -
编译原理,词法分析器
编译原理实验一,C/C++实现简单的词法分析器原创 2020-12-11 15:29:26 · 1800 阅读 · 2 评论 -
[STL]空间配置器的原理
参考STL源码剖析,对于空间配置器的一些理解,并对new/delete 与 operator new/operator delete ,placement new进行区分,简单了解空间配置器的构造,以及SGI中空间的构造和析构,配置与释放的原理原创 2020-11-22 22:23:46 · 1501 阅读 · 9 评论 -
QT基于Npcap设计的网络抓包小程序
Windows下在QT中使用Npcap,实现的一个网络数据报解析的小程序,可以对以太网帧头部,IP协议,TCP协议,UDP协议进行解析原创 2020-11-08 01:18:36 · 9175 阅读 · 8 评论 -
排序算法的多个版本
插入类排序直接插入排序// 插入排序void InsertSort(int* a, int n){ int i = 0; for (i = 1; i < n; i++) { int end = i - 1; int tmp = a[i]; while (end >= 0) { if (a[end] > tmp) { a[...原创 2020-02-29 18:19:24 · 377 阅读 · 0 评论 -
二叉树
二叉树的描述struct TreeNode { int val; //根节点存储的数据 struct TreeNode *left; //根节点的左孩子 struct TreeNode *right; //根节点的右孩子}; 二叉树是一种特殊的树,特殊之处就在于,它好像每一个根最多只能有两个分叉,并且它在逻辑和物理上是一个倒着的树,它的根节点...原创 2020-01-04 20:06:57 · 1070 阅读 · 0 评论 -
栈和队列的互相实现
先来简单说一下栈和队列:栈 栈一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在...原创 2019-12-28 22:49:57 · 1027 阅读 · 0 评论 -
哈希表实现电话号码查询系统
list.h#pragma once //预防头文件重复引用#include <stdio.h>#include<stdlib.h>#include<string.h>#include <windows.h>#include<assert.h>#define MAX_N 30 //姓名最大长度#define ...原创 2019-12-18 11:58:28 · 10974 阅读 · 5 评论 -
链表面试题
1.反转单链表输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next;...原创 2019-11-26 17:23:41 · 1188 阅读 · 0 评论 -
时间复杂度和空间复杂度
时间复杂度和空间复杂度前段时间在学数据结构的时候,就提到过关于时间复杂度和空间复杂度的,当时就想,还有什么是计算机算不出来的,就觉得这东东很水 ,事实上确实有那么一点点水,但是这几天在刷题的时候,发现有些题后面对程序的时间复杂度和空间复杂度还有要求,什么时间复杂度为O(N),空间复杂度为O(1)什么的,想想这块还是整理一下的好。,首先,平常我们做一件事,我们总是在想有没有更好的方法,可不可以少...原创 2019-11-11 21:12:44 · 1680 阅读 · 2 评论 -
通讯录管理系统
这个通讯录管理系统利用内存的动态开辟来写的,没有使用链表,可以简单实现通讯录的增,删,改,查联系人,以及写入文件,读取文件的操作,另外还加入了排序的功能。原创 2019-11-03 18:40:10 · 12347 阅读 · 6 评论 -
内存管理和对齐
一、动态内存管理 通常我们在内存中开辟空间的方法,就是用定义一个固定大小的数组,这样虽然直接,但是如果存储的数据很多的时候就很容易造成空间不足,我们就需要一个动态的存储方式来存储数据。有一些函数可以动态开辟内存:malloc,freemalloc:void* malloc(size_t size); malloc函数在执行时,如果...原创 2019-10-28 19:31:55 · 1256 阅读 · 0 评论 -
字符函数和内存函数
基本的字符函数和内存函数求子符串长度函数 strlen 两个字符串操作函数字符串长度不受限制 strcpy strcat strcmp 字符串长度受限制 strncpy strncat strncmp字符串查找函数 strstr strchr 内存操作函数 memcpy memmove memcmp函数介绍和模拟实现st...原创 2019-10-22 23:58:06 · 1061 阅读 · 0 评论 -
指针的简单了解
一 什么是指针 在计算机中,数据是以二进制的形式进行存储的,而在存储时内存会随机分配一个空间给需要存储的数据,这些空间都有一个属于自己的地址,如果想要想要通过地址来访问这个地址所存储的数据,就需要用到指针。通过指针,就可以对地址所指向的内存单元的值进行访问,指针指向的便是内存单元的地址。int a=0;int* p=&a;1.1 指针的解引用 ...原创 2019-10-14 20:51:31 · 1056 阅读 · 0 评论 -
数据在内存中的存储形式
数据的基本类型一 整形数据char 字符数据类型,在内存中占一个字节 short 短整型,在内存中占两个字节 int 整形,在16位的平台中占两个字节,在32位平台中占四个字节 long 长整型,在32位平台中占四个字节,在64位平台中占八个字节 long long 更长的整型,占八个字节 float 单精度浮点型,占四个字节 d...原创 2019-09-27 19:24:54 · 10579 阅读 · 4 评论 -
扫雷
扫雷的主要函数部分//初始化棋盘void InitBorad(char board[][ROWS], int row, int col,int set);//打印棋盘void show(char board[][ROWS], int row, int col);//设置雷void SetMine(char board[][ROWS], int row, int col);//扫雷...原创 2019-09-24 23:25:08 · 983 阅读 · 0 评论 -
C语言操作符
算术操作符 + 作用于整数和浮点数; - 作用于整数和浮点数,计算机只能进行加法运算,所以在程序中,a-b相当于a+(-b); * 作用于整数和浮点数; ...原创 2019-09-21 21:50:08 · 951 阅读 · 0 评论 -
三子棋
三子棋的主要函数可以分为以下几个://初始化棋盘void InitBoard(char board[][ROW], int row, int col);//展示棋盘void ShowBoard(char board[][ROW], int row, int col);//玩家移动void PlayerMove(char board[][ROW]);//判断输赢int IsWin...原创 2019-09-20 18:24:24 · 956 阅读 · 0 评论 -
常量的交换函数
今天,我见到一道题,题目是:使用函数实现两个数的交换,还有不允许创建临时变量实现两个数的交换。 一开始,我写的代码就是把之前在主函数的代码,写在了调用函数里,结果发现两个数的值并没有发生交换,很是神奇。void Swap(int n, int m){ int t = n; n = m; m = t;} 最后,我...原创 2019-09-11 15:01:24 · 1092 阅读 · 0 评论 -
C语言-变量
C语言-关键字变量整形变量变量名称说明int有符号整形常数,在内存中占4个字节,取值范围-2147483648~2147483647unsigned无符号基本整形,在内存中占4个字节,取值范围0~4294967295short有符号短整型,在内存中占2个字节,取值范围-32768~32767unsigned short无符号短整型,在内存中占2个...原创 2019-09-05 21:51:26 · 1116 阅读 · 0 评论 -
心里没有B树吗
了解B树的原理,以及简单对插入,查找,打印 和 析构进行简单实现和验证原创 2020-09-09 21:42:54 · 369 阅读 · 0 评论 -
C++ 智能指针的简单原理
C++中的智能指针,auto_ptr,std::unique_ptr,std::shared_ptr(线程安全),weak_ptr和守卫锁的原理和简单的模拟实现。以及delete带来的可能存在的内存泄漏的问题原创 2020-08-27 23:17:18 · 443 阅读 · 0 评论 -
C++项目:基于boost在线文档实现的搜索引擎(三)
C++项目:基于boost在线文档实现的搜索引擎(三),小demo的收官之战,对我们需要查找文本进行搜索,找到所有可能是我们需要搜索的文档,并在前端页面中进行展示原创 2020-08-25 23:02:08 · 650 阅读 · 0 评论 -
C++项目:基于boost在线文档实现的搜索引擎(二)
C++项目:基于boost在线文档实现的搜索引擎(二),这里完成了项目的索引模块,也就是在服务器开始的时候,解析指定的html文档中的内容,然后建立一个倒排索引(根据关键字找到文档id)与正排索引(根据文档Id找到文档的正文)原创 2020-08-24 23:46:43 · 1027 阅读 · 15 评论 -
C++项目:基于boost在线文档实现的搜索引擎(一)
一个基于boost在线文档而实现的搜索引擎模板(简单版本),这一节主要是搜索引擎的大概原理,项目的模小块组成,预处理模块的完成以及测试工作原创 2020-08-24 23:46:18 · 2885 阅读 · 2 评论 -
C++ 模拟实现 并查集
基于C++和leetcode刷题后,对并查集进行总结,根节点的查找和两个点是否合并的操作原创 2020-08-07 19:50:58 · 864 阅读 · 0 评论 -
c++11 右值引用与Lambda表达式
C++11新特性:初始化列表,默认成员函数的控制,右值引用与左值引用,emplace_back 与 push_back,lambda表达式原创 2020-07-25 19:20:24 · 691 阅读 · 0 评论 -
哈希位图与布隆过滤器
利用哈希位图作为底层,实现一个布隆过滤器。分析布隆过滤器和位图的组成和优缺点,处理大数据的情况原创 2020-07-07 22:39:20 · 447 阅读 · 1 评论 -
再看C++哈希表(散列表)
C++STL中的哈希表,分析哈希冲突几种解决方案,并进行实现,简单实现unordered_map中的[]重载原创 2020-07-03 23:31:10 · 1359 阅读 · 0 评论 -
这就是红黑树嘛
区别红黑树与AVL树,图解红黑树插入操作中进行调整的过程,单旋与双旋的流程以及迭代器的实现(自增与自减)。模拟实现一下STL中map的组成。原创 2020-06-29 17:55:37 · 250 阅读 · 0 评论 -
AVL 树的旋转
了解AVL树的起源和一些简单概念,图解AVL树插入元素的过程,以及每一种旋转中平衡因子的更新,很详细~~~原创 2020-06-23 13:14:04 · 308 阅读 · 0 评论 -
c/c++中的NULL,nullptr,0
关于c/c++,中的NULL,nullptr,0之间的关系,以及底层的程序部分。了解宏定义的关键字和隐式类型转换原创 2020-06-06 20:23:10 · 833 阅读 · 0 评论 -
二叉搜索树,就这,就这啊。
玩笑归玩笑,标题是陈述句,不是疑问句。哈哈,图解二叉搜索树,从增,删,查中递归与迭代的角度实现二叉搜索树的建树原创 2020-06-02 16:49:07 · 999 阅读 · 0 评论 -
C++面向对象之----多态
多态是面向对象的三大特性之一,总结下多态的使用场景和虚表的一些注意到的点原创 2020-06-01 12:49:46 · 791 阅读 · 0 评论 -
C++面向对象之-----继承(二)
了解关于子类中的默认成员函数,菱形继承以及菱形虚拟继承,再对继承作以收官总结原创 2020-05-28 16:55:28 · 258 阅读 · 0 评论 -
C++面向对象之-----继承(一)
先简单了解面向对象中继承和含义,明确子类与父类直接的赋值关系原创 2020-05-27 22:19:24 · 459 阅读 · 0 评论 -
优先级队列--priority_queue
了解下priority_queue优先级队列的底层实现,还有适配器以及仿函数的作用,最后回忆一下数据结构中的堆原创 2020-05-15 23:33:01 · 704 阅读 · 3 评论