自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 二叉树的遍历

分为按照递归和非递归两种方法

2022-06-10 15:49:00 71

原创 比特彗星模拟实现

p2p总体功能流程:客户端:1.获取网卡信息–获取主机ip+mask–局域网IP列表2.向所有ip发送配对请求–得到在线主机列表(将在线主机的ip打印到终端,让用户看到)3.选择一个主机(IP)发送获取文件列表请求–获取到共享的文件列表(将文件列表打印到终端,让用户看到)4.从这个主机下载指定的共享文件(文件名称)(创建这个文件,打开它,将相应的正文数据写入文件中,关闭)服务器端:1.接收到配对请求,做出相应2.接收到文件列表请求:1.检测获取指定共享目录下的文件信息(文件名)2.将所

2021-04-22 11:33:55 298

原创 C语言实现简易p2p项目

客户端:#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<string.h>#include<assert.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#define IPSTR "127.0.0.1"#define PORT

2021-03-30 13:19:01 850 1

原创 C语言for循环实现冒泡/选择/插入排序

冒泡:类似水低气泡,建议从后往前理解选择:在长度为N的无序数组中,第一次遍历n-1个数,找到最小的数值与第一个元素交换;第二次遍历n-2个数,找到最小的数值与第二个元素交换;。。。第n-1次遍历,找到最小的数值与第n-1个元素交换,排序完成插入:类比打扑克时候的摸牌#include <stdio.h>#include<stdlib.h>//插入void Insert(int a[],int len){ for (int i = 1; i <

2020-12-24 20:32:52 867 1

原创 三次握手、四次挥手相关(不全面)

三次握手连接时:第一次第一次握手:建立连接时,客户端发送syn包(seq=i)到服务器,并进入SYN_SENT状态,等待服务器确认;(SYN:同步序列编号)第二次第二次握手:服务器收到SYN包,必须确认客户的SYN(ack=i+1),同时自己也发送一个SYN包(seq=j),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack = j+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP

2020-11-17 16:40:06 63

原创 Linux 复习——基础(二)

库文件定义:存放的是预先编译好的方法的集合头文件位置:/usr/include可执行程序/命令:/bin库文件:/lib静态库格式:libxxx.a动态库:libxxx.soldd:查看可执行程序用到了哪些共享库静态库的使用:ar crv libxxx.a add.o max.o *.o(add和max为例)(c 创建库 ,r 把方法添加到库中,v 显示信息)共享库:gcc -shared -fPIC -o libxxx.so *.o库的使用:-L 路径;-l 库名(不是“1”)五

2020-11-17 16:10:55 72

原创 Linux 复习——基础(一)

Linux下一切皆文件基础包括:目录结构、文件类型、文件权限、命令一、文件中存放的内容/etc:系统配置文件/boot:内核及与启动有关的文件/bin:命令,可执行程序/home:普通用户的家目录。Linux是多用户系统/lib:库文件/proc:虚拟目录,进程在内存中的信息映射在该目录下/usr:系统运行过程中不经常改变的文件/var:系统运行过程中经常改变的文件/dev:设备文件/mnt:临时挂载点/tmp:临时文件二、文件类型ls -|(=||):查看文件及其相对应的权限

2020-11-15 11:49:37 79

原创 Linux复习整理

一、进程概念(1)是什么:正在进行的一个过程或者说是一个任务,而负责执行任务的则是CPU。程序是一堆代码,而进程指程序的运行过程。(2)程序空间地址:①缺页中断;②LRU算法二、线程概念(1)是什么:操作系统能够进行运算调度的最小单位(2)与进程的区别和对比:①进程是资源分配的最小单位;线程是程序执行的最小单位②进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段、堆栈段和数据段;线程没有独立的地址空间,它使用相同的地址空间共享数据③CPU切换和创建一

2020-11-14 16:48:58 91

原创 C语言/C++/数据结构 复习

C语言:一、常见关键字:(1)关键字类型:①数据类型(12个):char、double、float、int、long、short②控制语句(12个):for、while、break、continue、if-else、case、switch③存储类型(4个)(2)static:定义静态变量/函数(C++中指成员函数等)(3)const:修饰符:被其修饰的对象或变量不可被修改(4)volatile:提醒编译器其后面定义的变量随时有可能改变二、结构体:字节对齐三、指针和数组(一)指针:“

2020-11-14 11:04:32 276

原创 MySQL索引的相关知识点

MySQL索引是一种数据结构查询效率获得提高MyISAM:B+树数据和索引分离由三个文件组成frm 存放创建的表的基础信息myi 索引myd 数据数据存储,随意存储,离散程度大,即非聚集索引即MyISAM都是非聚集索引主索引:索引值不重复的索引都可以叫主索引辅助索引:存储的是数据的地址,允许索引值重复InnoDBB+树数据和索引结合,把索引当成数据的一部分1、...

2020-04-09 21:26:54 92

原创 解引用--数据的交换(函数自身值的修改)

#include<stdio.h>//A函数要想通过调用B函数来修改A函数自己的值,则调用B函数时必须传指针,且在B函数中解引用//例如:scanf(" ",地址列表);//指针±i,加/减一个单元格//指针+指针:非法//指针-指针:间隔的单元个数//总结:指针的算数运算都需要调整,调整的权重就是sizrof(指针本身去掉一个*)void swap_err1(int a...

2019-05-05 22:50:15 132

原创 字符串的简单处理问题(包含断言用法)

字符串的拷贝#include<stdio.h>#include<assert.h>#include<string.h>void mystrc1(char *des,char src){int i;for(i-0;src[i]=’\0’;i++)//(src+1){des[i]=src[i];}des[i]=’\0’;}//des=src...

2019-05-05 22:22:07 692

原创 简单的数据处理问题

给出一个数值n,求:1、共有多少位 2、倒序输出 3、分别输出每个数字(顺序)include<stdio.h>#include<math.h>#if 0void Count(){char ch;int alp = 0;//字母个数int num = 0;//数字个数int bla = 0;//空格个数int other = 0;//其它个数//whl...

2019-04-13 16:23:51 133

空空如也

空空如也

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

TA关注的人

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