自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法排序————快速排序,堆排序,归并排序

31.快速排序:是对冒泡排序的一种改进,其基本思想是选取一个记录作为枢轴,经过一趟排序,将整段序列划分为两个部分,其中一部分的值都小于枢轴,另一部分都大于枢轴,然后继续对这两部分进行排序,从而使整个序列达到有序。1)我们从待排序的记录序列中选取一个记录(通常第一个)作为基准元素(称为key)key=arr[left],然后设置两个变量,left指向数列的最左部,right指向数据的最右部。...

2019-09-07 18:59:43 204

原创 算法排序————插入排序,希尔排序,选择排序,冒泡排序

1.插入排序:以第二个数据开始,插入到数据前已排序好的数据序列中,并使其依旧有序。实现过程:算法的代码实现://函数功能:直接插入排序,把数据从小到大排序//arr 表示数组 len 表示长度时间复杂度O(n^2) 空间复杂度O(1) 稳定 如果待排序列本就有序,时间复杂度为O(n)#include<stdio.h>int insertsor...

2019-08-16 12:05:01 139

原创 红黑树

红黑树:一个二叉查找树,红黑树也是平衡二叉树的一种,但在每个结点上增加一个存储位表示节点的颜色,可以是red或是black。红黑树的性质:1.每个结点或是红的,或是黑的。2.根结点是黑的。3.每个叶结点是黑的空结点(NULL)。4.如果一个结点是红的,那它的两个儿子都是黑的。5.对每个结点,从该结点到其子孙结点的所有路径上包含数目相同的黑结点。最长路径不超过最短路径的2...

2019-07-30 18:52:38 106

原创 动态内存

局部变量分配在栈中,该区域在windows平台默认为1M,动态分配的内存在堆中,该区域非常大,在windows平台默认大于1.2G使用动态内存的情况:1.需要通过变量定义数组 2.需要定义大容量的数组创建动态内存:对内存的动态分配及释放时通过系统提供的库函数来实现的,主要有malloc,calloc,realloc,free这四个函数怎样建立内存的动态分配:1.malloc...

2019-07-29 19:15:22 136

原创 指针部分题

2000000可以参考前面的博客,指针的运算:https://mp.csdn.net/postedit/80601329

2019-07-26 21:26:24 78

原创 网络基本知识及相关协议的端口小结

OSI七层模型:应用层 --------------------- 为应用程序提供服务表示层 --------------------- 数据格式转化,数据加密会话层 --------------------- 建立,维护和管理会话传输层 --------------------- 为两台主机上的应用程序提供端到端的通信(进程间通信)报...

2019-07-26 20:06:07 134

原创 课后作业复习

用筛选法求100之内的素数:void SiftPrime(int n){ int *arr = (int *)malloc(n*sizeof(n));//动态申请n个内存 int i; int j; assert(arr != NULL); for (i = 0; i < n; i++)//初始化数组 { arr[i] = i;...

2019-07-25 20:29:55 99

原创 关于进程间的通信

进程间的通信:管道 信号量 消息队列 socket套接字管道:线性字节数组,类似文件,使用文件读写的方式进行访问管道分为:有名管道:fifio 相当于创建了一个文件,这个文件只要有权限的,所有人都能来访问(不相关的进程也能进行数据的交换)无名管道:pipe 只能由父子进程进行使用,返回两个文件描述符创建管道时系统调用popen()或者pipe(),...

2019-07-24 19:04:32 168

原创 C语言几道题

分析:char类型数据表示范围为-128~+127,所以197远远超出了char类型所能表示的范围,将数据进行取反+1的操作197的表示为1100 0101------->0011 1011------>-59(第一位为符号位,符号为1位证书,0为负数)255的表示为1111 1111------>0000 0001-------->-1unsigned c...

2019-07-22 21:25:58 523

原创 C++的思想

函数重载:符号的生成规则函数重载的三要素:1.同名 2.同参 3.同作用域C函数名称C++函数原型:1.形参的个数 2.形参的类型 3.函数的形参 <1>形参的个数 <2>形参的类型 <3>形参的顺序多态:同一接口,不同的形态new和delete的区别:new 申请内存,调用构造函数。delete 调用析构函数,释放内存。...

2019-07-22 19:04:59 312

原创 进程及线程

程序:存储在磁盘上的二进制可执行文件。是静态的,一个程序可生成多个进程。进程:一个正在运行的程序,是系统进行资源分配的基本单位。是动态的,是一次程序的实例化。Linux进程描述符:struct task_struct进程在其生命周期存在的状态:就绪:所有资源准备完成,等待cpu空闲的状态运行:在cpu上真正执行的状态阻塞:等待某些事件发生,时间未发生前,不能被cpu调度的状...

2019-07-21 19:36:12 88

原创 Linux基础知识点小结

1、目录结构 /lib/home/boot /proc /usr /var /mnt /root2、-普通文件 d目录文件 l链接文件 p管道文件 c,b设备文件 s套接字3、权限:chomd r 4 w 2 x 1 - 04、基本命令:文件:ls(显示当前目录下的文件)touch(新建普通文件)rm(删除普通文件)rmdir...

2019-07-19 13:23:22 135

原创 I/O复用之select() poll() epoll()

select poll epoll io复用函数n=selectn==-1 失败n==0 超时n>0 有n个描述符数据就绪select 监听描述符上有没有用户关心的事件(读、写、异常)poll() 同select1、每次循环。都要给内核拷贝描述符和事件的集2、轮询的方式检测描述符上是否有事件就绪 O(n)3、返回后,遍历集合中就绪的 O(n)...

2019-03-15 16:52:29 81

原创 Linux  gdb调试

release 发行版 debug 开发版本 可调试版本 添加了一些debug_*段 源代码 ----》 可执行文件 默认的release 编译链接 debug gcc -o debug main.c -g 编译过程中加入debug信息:gcc -o ...

2019-03-09 17:11:10 96

原创 网络编程TCP和UDP相关

TCP服务:可靠的 面向连接的流式服务进行一对一的连接比较方便(数据没有边界,多次发送的数据可以被对方一次性接收)必须先建立连接 ,在发送数据 依靠三次握手建立连接利用滑动窗口进行流量的控制采用发送应答机制,发送端发送每个TCP数据报服务必须收到接收端的应答,才认为此数据报发送成功TCP报文最终以IP数据报发送,IP数据报到达接收端有可能乱序,重复,所以TCP协议对接收到的I...

2019-03-01 15:42:43 217

原创 指针的算术运算

指针的算术运算100 104 108 112 116 120 124 128 132 136 10 2 ...

2018-06-06 21:25:13 159

原创 进制及相关知识小总结

关于进制的计算问题题目:假设在n进制下,下面的等式成立,567*456=150216,n的值是(D)A. 9B.  10C.  12D.  18首先(5n^2+6n+7)(4n^2+5n+6)=20n^4+24n^3+28n^2+25n^3+30n^2+35n+30n+30n^2+36n+42=20n^4+49n^3+88n^2+71n+42=n^5+5n^4+2n^2+n+6      (1)两...

2018-05-23 23:22:31 582

原创 浮点数相关

浮点数(float,double) 精度问题与宏定义(#define)float(单精度) double(双精度)字节        4                8            32位            64位float类型所占用4个字节则会有32位,而在存储时,系统会将实型数据分成小数部分和指数二个部分来存储。由于小数也存在正负,最前面的单独一位来表示符号位。0表示正数。1表...

2018-05-09 19:16:22 423

原创 折半查找(调试)

折半查找:数字:1,2,3,4,5,6,7,8,9,10下标:0,1,2,3,4,5,6,7,8,9(0+9)/2=4   low=5   5&lt;9 输出(4+9)/2=6   low=7   7&lt;9 输出(6+9)/2=7   low=7   8&lt;9 输出(7+9)/2=8   low=9   9&lt;9(错误)  不能输出,所以程序改正时应加上=当低位进行比较时,由于相等时已...

2018-04-01 14:04:22 274

原创 取地址(指针)

取地址(指针):&amp;变量名  获取任何变量的地址,单目运算符*指针变量名,则间接访问到指针指向的变量int *p=&amp;a// 定义指针变量  整形地址变量保存整形地址值*p=100 间接访问 解引用Int a,b,c,d;Int *p1=&amp;a;Int *p2=&amp;b;*p1=100;//a=100 *p2=200;//b=200P1=&amp;c;P2=&amp;d;*p...

2018-04-01 13:58:49 9033 3

原创 统计十进制中n的位数,以及它的顺序和逆序的输出

确定位数时一般采用丢个位的方法n/=10   丢个位123/10=12  n=12    count=112/10=1 n=1   count=21/10=0  n=0   count=3    返回到count值进行输出int GetFigures(intn){    intcount = 0;     do    {        count++;        n /=10;//丢弃个位  ...

2018-04-01 13:56:42 269

空空如也

空空如也

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

TA关注的人

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