自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

字节跳动

成事在天,谋事在人

  • 博客(272)
  • 资源 (14)
  • 收藏
  • 关注

原创 数据结构学习1:赫夫曼编码

一 算法注意:1:数据结构(C语言版本) 严蔚敏,书籍中的算法,有一处错误。p = HT+1才是对的。2:动态申请堆内存的数组,用于存储树结点。下标为0的单元,未用。

2020-06-12 15:58:15 260

原创 linux实践

【代码】linux实践。

2024-04-22 16:22:08 258

原创 [学习] linux命令大全

linux,命令

2024-04-19 10:56:44 529 1

原创 【学习】linux实用命令

LINUX,命令,学习

2024-04-19 09:33:07 536 1

原创 学习-官方文档编辑方法

官方文档编辑方法

2024-04-19 09:23:52 731

原创 【复习】C++11特性

作用:堆内存指针+引用计数(控制器,由默认的释放规则,可以自定义),用于堆内存管理,当对象离开生命周期时,引用计数降至为0,释放堆内存。

2024-03-06 01:29:24 345

原创 【复习】互斥锁

【代码】【复习】互斥锁。

2024-03-05 21:18:04 340

原创 【复习】排序算法

排序算法

2024-03-05 18:51:47 345

原创 【基础】C++语法

C++语法

2024-02-29 18:05:56 818

原创 linux makefile学习

linux makefile 教程转载地址:https://blog.csdn.net/mingchong2005/article/details/78688738

2021-03-25 16:55:20 238

原创 遍历多维数组

char a[2][2][3]={{{1,6,3},{5,4,15}},{{3,5,33},{23,12,7}} };for(int i=0;i<12;i++)printf("%d ",_______);在空格处填上合适的语句,顺序打印出a中的数字答案:a[i/6][(i/3)%2][i%3];

2021-03-10 17:39:07 263

转载 折半查找(二分查找)

转载地址:添加链接描述代码实现:#include <stdio.h>#include <stdlib.h>#define keyType inttypedef struct { keyType key;  // 查找表中每个数据元素的值 // 如果需要,还可以添加其他属性}ElemType;typedef struct{ ElemType *elem;  // 存放查找表中数据元素的数组 int length;     // 记录查找表

2021-03-09 14:30:49 435

转载 sql常用语句

转载地址:添加链接描述

2021-03-08 09:33:01 188

转载 冒泡排序

转载冒泡排序#include <stdio.h> #define ARR_LEN 255 /*数组长度上限*/#define elemType int /*元素类型*/ /* 冒泡排序 *//* 1. 从当前元素起,向后依次比较每一对相邻元素,若逆序则交换 *//* 2. 对所有元素均重复以上步骤,直至最后一个元素 *//* elemType arr[]: 排序目标数组; int len: 元素个数 */void bubbleSort (elemType arr[], int

2021-03-07 22:59:36 115

转载 工厂模式

工厂模式

2021-03-07 22:50:05 79

原创 TCP协议学习1

1、ISO七层网络模型

2020-12-08 13:44:14 177

原创 C++虚函数表学习

学习网站C语言中文网:C++虚函数表(多态的实现原理)细节,请参考学习网站原理代码#include <iostream>using namespace std;class A{public: int i; virtual void func() {} virtual void func2() {}};class B : public A{ int j; void func() {}};int main(){ cout

2020-12-07 13:10:40 105 1

原创 C++11新特性学习1

学习网站C语言中文网:C++11教程:C++11新特性大汇总详细特性,请参考学习网站。

2020-12-07 12:00:56 185

原创 网络编程学习5:三次握手和四次挥手

一、 三次握手和四次挥手状态图二、报文图注意:确认号ack等于对端的序号seq加1。即ack = seq(对端)+ 1;

2020-12-06 20:02:49 117

原创 异步send,如何监控发送失败?

方法异步send,执行完函数,不会阻塞的等待返回值和消息。此时,要监控它的成功或者失败。需要使用到网络模型select或者iocp等,通过监控系统的处理消息,来监控发送的结果。学习文章非阻塞socket之send的使用—异步send...

2020-08-20 08:58:07 553

原创 c++的自增操作符:i++和++i

自增操作符i++是先计算表达式的值,然后i再增加1。++i是i增加1,然后再计算表达式的值。1 实现i++// 使用引用传递,返回的是未修改的val值,实质的val值已经自增。int operator++(int &val){ int temp = val; val += 1; return temp;}++iint operator++(int val){ val += 1; return val;}2 应用// 用erase删除map中的元素#incl

2020-07-27 11:01:26 315

原创 STL学习2:map

mapmap本质是一类关联式容器,属于模板类关联的本质在于元素的值与某个特定的键相关联,而并非通过元素在数组中的位置类获取。它的特点是增加和删除节点对迭代器的影响很小,除了操作节点,对其他的节点都没有什么影响。对于迭代器来说,不可以修改键值,只能修改其对应的实值。map内部数据的组织,map内部自建一颗红黑树(一种严格意义上的平衡二叉树),这棵树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的。map接口1、插入用insert函数插入pair数据、用insert函数插入value_ty

2020-07-27 10:26:48 138

原创 STL学习1:vector

vectorSTL封装了许多复杂的数据结构算法和大量常用的数据结构操作。vector封装数组,list封装链表,map和set封装二叉树(红黑树)vector是线性容器,它的元素严格按照线性序列排列,和动态数组很相似。和数组类似的是,它的元素存储在一块连续的存储空间中,这也意味着不仅可使用迭代器(iterator)访问元素,还可以使用指针的偏移方式访问。和常规数组不一样的是,vector能够自动存储元素,可以自动增长或缩小存储空间。STL中vector和list的区别...

2020-07-25 18:54:12 188

原创 设计模式学习2:单例模式

单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。1 设计Singletonstatic Instance() SingletonOperation() GetSingletonData()static unique Instance singletonData2 实现class Singleton{public: static Singleton * Instance();protected: Singleton();private:

2020-07-25 16:07:14 134

原创 设计模式学习1:观察者模式

观察者模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所以依赖于它的对象都得到通知并被自动更新。1 设计Subject(目标)-目标知道它的观察者。可以有任意多个观察者观察同一个目标。-提供注册和删除观察者对象的接口Observer(观察者)-为那些在目标发生改变时需获得通知的对象定义一个更新接口2 实现class Subject;class Observer{public: virtual ~Observer(); virtual void Update(Su

2020-07-25 10:32:43 116

原创 网络编程学习4:TCP协议

TCP协议网络通信协议中最重要的就是TCP/IP协议1 网络模型ISO七层网络模型层数名字主要功能对应的典型设备传输单位7应用层提供应用程序间通信计算机:应用程序,如FTP、SMTP程序级数据6表示层处理数据格式、数据加密等计算机:编码方式,如图像编码、URL字段传输编码程序级数据5会话层建立、维护和管理会话计算机:建立会话,如session认证、断点续传程序级数据4传输层建立主机端到端连接计算机:进程和端口数据段(segm

2020-07-24 18:36:46 202

原创 字符串接口学习:strcat、strcmp、strcpy

字符串接口:strcat、strcmp、strcpystrcat:字符串拼接char *strcat(char *dest, const char *src);strcmp:字符串比较int strcmp(const char *s1,const char *s2);strcpy:字符串拷贝char *strcpy(char* dest, const char *src);1 strcatchar * strcat(char * dest, char * src){ assert(

2020-07-24 09:16:29 187 1

原创 网络编程学习3:IOCP模型

IOCP模型IOCP(I/O completion port,I/O完成端口)是伸缩性最好的一种I/O模型。I/O完成端口是应用程序使用线程池处理异步I/O请求的一种机制。处理多个并发异步I/O请求时,使用I/O完成端口比在I/O请求时创建线程更快更有效。I/O完成端口最初的设计时应用程序发出一些异步I/O请求,当这些请求完成时,设备驱动将把这些工作项目排序到完成端口,这样,在完成端口上等待的线程池便可以处理这些完成I/O。完成端口实际上时一个Windows I/O结构,它可以接收多个对象的句柄,如

2020-07-23 20:31:26 328

原创 网络编程学习2:select模型

选择(select)模型select模型是一个广泛在Winsock中使用的I/O模型。称它为select模型,是因为它主要是使用select函数来管理I/O的。1 接口// select函数可以确定一个或者多个套接字的状态。如果套接字上没有网络事件发生,便进入等待状态,以便执行同步I/O。int select( int nfds, // 忽略,仅是为了与Berkeley套接字兼容 fd_set * readfds, // 指向一个套接字集合,用来检查其可读性 fd_se

2020-07-23 18:56:27 261

原创 网络编程学习1:IO阻塞和非阻塞

套接字模式套接字模式简单的决定了操作套接字时,Winsock函数是如何运转的。Winsock以两种模式执行I/O操作:阻塞和非阻塞。在阻塞模式下,执行I/O的Winsock调用(如send和recv)一直到操作完成才返回。在非阻塞模式下,Winsock函数会立即返回。阻塞模式套接字创建时,默认工作在阻塞模式下。例如,对recv函数的调用会使程序进入等待状态,直到接收到数据才返回。非阻塞模式应用程序调用ioctlsocket函数显式地让套接字工作在非阻塞模式下,如下代码所示。u_long ul =

2020-07-23 18:08:03 224

原创 gitlab环境搭建

Gitlab环境搭建一 资源1 官网Git中文网2 下载windows版本

2020-07-09 10:11:29 226

原创 设计模式学习-抽象工厂模式

学习文章C++设计模式-抽象工厂模式C++设计模式系列原理产品的基类,有若干类型。工厂基类,定义若干生产产品的接口。示例代码

2020-07-01 10:51:31 1755

原创 设计模式学习-工厂方法模式

学习文章C++设计模式-工厂方法模式原理工厂基类,定义创建产品的公共接口。工厂子类,创建具体产品。示例代码// 定义产品的IDtypedef enum _Product_ID_{ E_PRODUCT_A, E_PRODUCT_B}Product_ID;// 产品基类,必须包含虚函数,作为公共接口。class Product{public: virtual void Show() = 0;};// 产品类class ProductA: public Product{pub

2020-07-01 10:41:21 111

原创 设计模式学习-简单工厂模式

学习文章C++设计模式-简单工厂模式原理工厂类提供一个创建产品类对象的接口,输入产品ID,输出产品基类指针。示例代码// 定义产品的IDtypedef enum _Product_ID_{ E_PRODUCT_A, E_PRODUCT_B}Product_ID;// 产品基类,必须包含虚函数,作为公共接口。class Product{public: virtual void Show() = 0;};// 产品类class ProductA: public Product

2020-07-01 10:31:30 170

原创 查看U盘的逻辑卷标识

2020-06-02 09:33:26 299

原创 VC++学习6:进程通信

一 剪贴板1 函数接口// 打开剪贴板BOOL OpenClipboard( HWND hWndNewOwner); // 清空剪贴板BOOL EmptyClipboard(void);// 分配内存对象int GlobalAlloc(int flags, int size);// 加锁内存对象int GlobalLock(int handle);// 解锁内存对象bool globalUnLock(int handle);// 关闭剪贴板BOOL CloseClipboar

2020-05-29 10:39:07 241

原创 VC++学习5:网络编程

一 TCP网络通信1 接口函数// 加载套接字哭int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData);// 创建套接字SOCKET socket(int af, int type, int protocol);// 绑定int bind(SOCKET s, const struct SOCKADDR * name, int namelen);// 将指定的套接字设置为监听模式int listen(SOCKET s, i

2020-05-27 17:34:10 258

原创 VC++学习4:线程同步

一 互斥体1 接口函数// 创建互斥体对象HANDLE CreateMutext( LPSECURIT_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner, LPCTSTR lpName);// 获取互斥体对象的所有权DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds);// 释放互斥体对象BOOL ReleaseMutex(HANDLE hMutex);2 实例

2020-05-27 16:46:24 313

原创 VC++学习3:MFC机制

1 MFC消息映射机制/* 在每个能接收和处理消息的类中,定义一个消息和消息函数静态对照表,即消息映射表。 在消息映射表中,消息与对应的消息处理函数指针是成对出现的。某个类能处理的所有 消息及其对应的消息处理函数的地址都列在这个类所对应的静态表中。当有消息需要处理 时,程序只要搜索该消息静态表,查看表中是否含有该消息,就可知道该类能否处理此消息。 如果能处理该消息,则同样依照静态表能很容易找到并调用对应的消息处理函数。 */...

2020-05-22 16:37:37 216

原创 VC++学习2:C++类与对象

1 类的继承及类中成员的访问特性/* 在类中还有另外一种成员访问权限修饰符:protected。下面是public, protected, private 三种访问权限的比较: public定义的成员可以在任何地方被访问。 protected定义的成员只能在该类及其子类中访问。 private定义的成员只能在该类自身中访问。 对于继承,也可以有public、protected或private这三种访问权限去继承其基类中的成员。 如果在定义派生类时没有指定如何继承访问权限,则默认为privat

2020-05-22 11:37:14 290

blade用户手册,学习blade自动化构建用法

blade用户手册,学习blade自动化构建用法

2024-04-23

android学习资源-ide

android学习资源-ide

2023-04-05

C++经典游戏合集.rar

C++经典游戏合集,包含数十款游戏。包含如棋牌类,如象棋,军旗等;包含控制类,如坦克大战,俄罗斯方块等。。。。。。

2020-01-02

汉诺塔游戏 ,具有GUI图形界面

这是一款汉诺塔小游戏,具有GUI图形界面。代码风格简约,界面友好大方,值得学习。。。。。。。。。。。。

2020-01-02

象棋-两人对战网络版.rar

这是一款象棋小游戏,具有GUI图形界面。代码风格简约,界面美观大方,值得学习。

2020-01-02

军旗-两人对战网络版.rar

这是一款,军旗小游戏。具有GUI图形界面,代码风格简约,界面美观大方,值得学习。

2020-01-02

boost源码.rar

boost的1.65.1的源码,可以在Linux平台下,编译为二进制,作为第三方库使用。

2019-08-22

后台开发.rar

<后台开发 核心技术与应用实践>,是一本不错的学习书籍,值得看看。

2019-08-13

UNIX环境高级编程英文版(第二版).rar

UNIX环境高级编程英文版资源,有详细的Linux编程技术介绍,非常适合Linux学习。

2019-07-23

windows_sdk_example

windows7 sdk实例,内涵iocp等编程项目代码。

2017-08-18

c语言的控制台应用程序的图形库EaxyX

一、功能:含有一个绘图库,运行应用程序,添加到vc中。使用#include <graphics.h>,就可以实现画点,画线,等绘图操作。 平台:windows xp/windows 7,linux等平台 二、优越性:简化了绘图的难度,把项目编程的重心着落在c语言,而不是繁琐的绘图函数。Turbo c环境绘图,环境太老。VC 绘图,想画条直线,画个圆都要注册窗口累、建消息循环等,难度大,初学者容易受到打击。 三、帮助文件:丰富的实例,有一个EaxyX_Help.chm帮助文件,可以实时查询任何函数的用法。你只需要明确自己的需求,就能找到自己想要的答案。

2014-03-05

用c语言编写的具有人性化界面的俄罗斯方块

功能:具有人性化界面的俄罗斯方块。具有基本的操作功能。 知识点: 1.面向对象即构造合适的数据结构。俄罗斯方块的7种形状四个方向的数据结构。 int Block_Type_Array[7][5]= //所有俄罗斯方块类型的对应的整形码值 { 0xF000,0x4444,0xF000,0x4444,0xFF0000, //I 字型 0x0660,0x0660,0x0660,0x0660,0x0000FF, //田 字型 0x0e40,0x4c40,0x4e00,0x4640,0xFFFF00, //T 字型 0x4460,0x0e80,0xc440,0x2e00,0x00FFFF, //L 字型 0x44c0,0x8e00,0x6440,0x0e20,0xFF00FF, //反L 字型 0x0c60,0x4c80,0xc600,0x2640,0x00FF00, //Z 字型 0x06c0,0x8c40,0x6c00,0x4620,0x99FF33 //反z 字型 }; 2位操作(c的运算符:&,|,^) 3数组与指针(把二维数组作为函数的形参,则需要传进它的地址,即int (*p)[length]) 4获取按键的消息(getch()从控制台无回显地取一个字符,kbhit()判断是否有按键消息) 三、工程介绍 代码量大小为1100行左右,简洁的代码风格。每个函数都有功能介绍,每个全局变量和重要语句都有注释。

2014-03-03

用c语言写的具有图形化界面的通讯录程序

一、功能:具有人性化界面的通讯录程序,可实现增加,删除,修改联系人 二、知识点: 1.文件输入(fprintf)/输出(fscanf) 2.数组与指针(指针表示地址,偏移量为1,指针值得变化取决于它所指向的数据类型。例如,如果是int *p,则值需要加4) 3.函数(函数的形参,如果是指针,则改变指针所指向的内存单元的值,函数结束后该地址的存储的值已经改变。如果传进来的是普通变量的值,而不是地址,则函数结束后,该变量的值依然不会发生改变) 4.多文件编译(使用头文件,把多个.c文件中的具体功能函数,实现被其他文件函数的调用) 5.图形化界面(使用EasyX 库,在dos窗口画人性化界面) 三、工程的代码 代码量1200行左右,简洁和良好的编程风格,每个函数都有自己的功能介绍,变量即重要语句都有注释,非常适合阅读。

2014-03-03

vc环境下c++贪吃蛇设计

文件内容:vc环境下的简单游戏界面设计,贪吃蛇项目实现。非常适合,借鉴。

2013-06-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除