- 博客(19)
- 收藏
- 关注
原创 用JsonCpp从一个未知Json文件遍历解析所有的结点与值
用JsonCpp从一个未知Json文件遍历解析所有的结点与值#include <iostream>#include"json.h"#include <string>#include <fstream>#include <sstream>#include <string>#include <Windows.h>#...
2020-04-07 15:28:02
864
原创 肥猫学习日记---------------------Linux下C++使用类模板创建链表栈
#include <iostream>using namespace std;template <typename T>class Node{public: Node(T data):data(data) { next = NULL; } T data; Node* next;};template <typename T>c...
2019-08-26 21:15:54
190
原创 肥猫学习日记---------------------Linux下C++的类模板以及使用类模板创建顺序栈
类模板类模板的定义 //创建模板的方法 template <typename M,typename R,typename A,typename O> class Test//类名 { public: //类型参数 val; M val; Test(A a) { o val; } R func(void) { } };类模板的使用...
2019-08-26 21:14:37
158
原创 肥猫学习日记-------------------C++单例模式>>懒汉模式
懒汉模式什么是懒汉模式懒汉模式:用静态成员指针来指向单例类的唯一实例对象,只有真正调用获取实例对象的静态接口时,实例对象才被创建。优点:什么时用什么时候创建,节约内存。缺点:在第一调用访问获取实例对象的静态接口才真正创建,如果在多线操作情况下有可能被创建出多个实例对象(虽然可能性很低),存在线程不安全问题。#include <iostream>using namespac...
2019-08-23 20:51:14
141
原创 肥猫学习日记--------------------------C++中的单例模式>>饿汉模式
饿汉模式什么是饿汉模式饿汉模式:将单例类的唯一实例对象定义为成员变量,当程序开始运行,实例对象就已经创建完成。优点:加载进行时静态创建单例对象,线程安全。缺点:无论使用与否,总要创建,浪费内存#include <iostream>using namespace std;//饿汉模式class Singleton{private: Singleton(void)...
2019-08-23 20:46:41
134
原创 肥猫学习日记--------------OSI参考模型与TCP协议模型的对应关系
OSI参考模型从底层到上层分别是物理层 -> 数据链流层 ->网络层 ->传输层 ->会话层 ->表示层 ->应用层共七层TCP协议模型数据层 ->网络层 ->传输层 ->应用层共四层对应关系OSI的 物理层 和 数据连接层 对应TCP的 数据层OSI的 网络层 对应TCP的 网络层OSI的 传输层 对应TCP的 传输层O...
2019-08-16 21:07:08
258
1
原创 肥猫学习日记-----------------TCP协议与UDP协议的区别
TCP和UDP的区别 TCP:传输控制协议,面向连接的服务(打电话),安全、可靠(三次握手、响应 + 重传、四次挥手)速度较慢,一般应用在对安全性,完整性有严格要求的场景:如FTP协议 UDP:用户数据报文协议,面向无连接的服务(发短信),不保证安全可靠,但大多数情况下是可靠的,相对较慢。简单介绍下三次握手与四次挥手 三次握手: A要知道,A能到B,B也能到A B也要知道,A...
2019-08-16 20:59:07
112
原创 肥猫学习日记------------------Linux下的简单UDP协议建立
UDP协议的建立相比于TCP协议而言,UDP编程模型相对简单。服务端:1、创建套接字 (socket)2、设置地址3、绑定(bind)4、接收请求(recvfrom)5、响应请求(sendto)6、关闭套接字(close)服务端:1、创建套接字2、设置地址3、发送请求4、接收响应6、关闭套接字UDP协议与TCP协议的不同点在于1、UDP发送接收数据只能用recvfr...
2019-08-16 20:53:37
149
原创 肥猫学习日记------------------Linux下简单TCP协议建立
如何使用socket套接字建立一个TCP协议服务端 1、创建套接字2、准备地址3、绑定(bind函数)4、监听(listen函数)5、等待连接(accept函数)6、接收请求(read/recv函数)7、响应请求(write/send函数)8、关闭(close函数)客户端1、创建套接字2、准备地址3、链接4、发送请求5、接收响应6、关闭...
2019-08-16 20:42:34
129
原创 肥猫学习日记---------------Linux下实现rm命令
linux在终端运行rm filename时代表着删除文件或文件夹,标准库函数中rmdir仅仅能够删除空文件夹,因此我们要想删除包含文件的文件夹的话,要进入文件夹,删除所有文件后退至上一层再删除空文件夹,若是文件夹里包含文件夹则重复操作,具体内容如下#include <stdio.h>#include <unistd.h>#include <dirent.h&g...
2019-08-08 20:52:18
196
原创 肥猫学习日记-------------实现Linux ls -l命令
Linux终端中ls -l是用来查看当前文件夹下所有文件的属性下面为通过main函数的参数实现ls-l命令#include <stdio.h>#include <string.h>#include <unistd.h>#include <dirent.h>#include <sys/stat.h>#include <t...
2019-08-08 20:42:38
254
原创 肥猫学习日记-------------实现Linux cp命令
在Linux中,cp命令为拷贝文件内容至另一个下面为利用main参数实现的cp命令#include <stdio.h>#include <unistd.h>#include <sys/stat.h>#include <sys/types.h>#include <fcntl.h>int main(int argc,char*...
2019-08-08 20:33:27
150
原创 肥猫学习日记------查找与排序(一)
查找普通查找int order_find(int* arr,size_tlen,int key){ for(int i=0;i<len;i++) { if(arr[i]==key) return i; } return -1;}二分查找(递归)//二分查找的前提是有序的序列int binary_find(int* arr,sizt_t l,size_t r,i...
2019-07-28 16:26:04
149
原创 肥猫学习日记------二叉树(数组)
树树:元素之间存储一对多关系的数据结构,常用语表现族谱关系、组织关系等,也可以借助特殊的树型结构实现查找、排序的算法,一般使用倒悬树的方式表示相关术语根结点:树的最上层元素,有且只能有一个子结点:该结点对应的下一层元素父结点:该结点对应的上一层元素叶子结点:没有子结点的元素,一般处于树的最底层或最底层的上一层兄弟结点:具有同一父结点的元素,处在同一层高度:树的层数密度:树的结点数...
2019-07-28 15:17:40
97
原创 肥猫学习日记------关于链表的扩展(二)通用链表
通用链表通用链表与一般链表不同的地方在与其数据域类型是不确定的,我们用void这个万能指针来代替原有的数据域类型void是一个万能指针,可以与任意类型的指针互换,如 int* = void*,char* =void*要注意的一点是:由于存储类型的不确定性,我们无法直接使用到关系运算符进行运算,需要使用者提供一个函数供链表使用,也就是回调函数比方说比较两个数据时,我们不知道数据类型,就要自己...
2019-07-27 16:39:40
168
原创 肥猫学习日记------关于链表的扩展(一)
环形链表与Y型链表环型链表之前我们建立的链表都是线性的,一条路走到黑的那种。但是,不排除有时候创建或使用别人的代码时会有环形链表的存在。一旦存在环型链表,那么我们对链表的各个操作就有可能会出现死循环的情况。检查是否有环型链表我们创建两个指针,一个指向头结点,一个指向头结点的后一个结点,一前一后往前跑。如果存在环形,那么这两个指针就一定会相遇bool is_ring(List* list)...
2019-07-27 15:40:47
154
原创 肥猫学习日记---数据结构与算法(三)-----链表
什么是链表由一系列结点(链表中每一个元素称为结点)组成的一个有方向的数据结构体叫链表。其逻辑顺序由指针链接次序实现的顺序链表就我个人认为,顺序链表就是单项链表,即每个节点只有一个指针指向下一个节点。顺序链表的创建要想创建一个链表,我们需要先创建其中的节点#define TYPE inttypedef struct Node{ TYPE* data;//数据域 struct No...
2019-07-14 21:00:46
117
原创 肥猫学习笔记--C语言数据结构与算法(二)----队列
C语言数据结构与算法(二)什么是队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列的特性队列,顾名思义,就像排队买东西一样,排在前面买东西的买完走人,排在后面的要排着队等到买完东西再走人,也就是先进先出,后进后出的顺序创...
2019-07-13 17:21:56
309
原创 肥猫学习笔记---C语言数据结构与算法(一)-----栈
C语言数据结构与算法(一)什么是数据结构与算法数据结构+算法=程序数据结构不是用来研究数据计算的,而是用于研究数据与数据之间关系数据结构的基本概念数据:能够输入计算机的描述客观事物的符号。数据项:描述事物的其中一项指标数据元素:用于描述一个完整的事物数据结构:由数据元素与元素之间的关系构成的一个整体算法:数据结构所具备的功能(解决问题的方法)四种基本类型的数据结构(逻辑结构)...
2019-07-13 16:47:42
235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人