- 博客(31)
- 问答 (1)
- 收藏
- 关注
原创 Nginx入门安装
Nginx文章目录Nginx学习思路:基本概念反向代理负载均衡动静分离安装练习基本命令配置文件全局块events块http块http全局块server块配置实例反向代理实现效果准备工作配置过程进阶配置负载均衡**常用参数**分配策略动静分离原理与结构学习思路:1.基本概念 反向代理 负载均衡 动静分离2.安装与使用 linux安装nginx 常用命令 配置文件3....
2019-11-07 20:03:35
251
原创 【题目】【网易】丰收
又到了丰收的季节,恰逢小易去牛牛的果园里游玩。 牛牛常说他对整个果园的每个地方都了如指掌,小易不太相信,所以他想考考牛牛。 在果园里有N堆苹果,每堆苹果的数量为ai,小易希望知道从左往右数第x个苹果是属于哪一堆的。 牛牛觉得这个问题太简单,所以希望你来替他回答//丰收 , n个堆, 输入每个堆的个数, 给出m个数, 分别输出每个数在哪个堆里;//输入一行 while+scanf//数...
2018-08-24 20:09:50
378
原创 【题】抽纸牌游戏 算相差
//排序 相邻相减 相加#include <iostream>#include <algorithm>using namespace std;//经过OJ测试 ->数字最大上限为10^5 1.变量可以定义为int 2.数组最好开辟100005bool cmp(long long int a,long long int b){//升序排列,如果改为ret...
2018-08-24 20:07:07
454
原创 【题】翻转单词顺序列
i am a student -》 student a am i方法先翻转整个字符串再对每个单词翻转 代码class Solution {public: void Reverse(int begin,int end,string &str) { while(begin < end) { ...
2018-08-24 20:05:24
164
原创 【网络编程】IO多路转接
IO多路转接@(Linux)IO多路转接1.基本概念适合场景2.select2.1基本流程2.2函数原语2.3优缺点3.poll3.1基本流程3.2函数原语3.3优缺点4.epoll4.1基本流程4.2函数原语4.3优缺点1.基本概念适合场景多用于有大量链接,但同一时间活跃量较小2.selec...
2018-08-24 19:57:06
737
原创 【项目】高性能web服务器
两种高效的事件处理模式同步I/O模型通常用于实现Reactor模式,异步模型常用于实现Proactor模式Reactor模式Reacotr模式本质上来讲,他要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生,有的话就立即将该事件通知工作线程(逻辑单元),除此之外,主线城不做任何其他实质性的工作。读写数据,接受新的连接,以及处理客户请求均在工作线程中完成。使用同步I...
2018-08-23 21:30:15
2376
原创 【题】【剑指offer】二维数组查找
从右上到左下比较也可以用二分查找class Solution {public: bool Find(int target, vector<vector<int> > array) { int cols = (int)array.size(); //行 0 int lins = (int)array[0].size()...
2018-08-17 21:34:01
123
原创 【题】【剑指offer】反向输出链表
将一个链表反向输入定义一个vector,递归在最后一个节点插入或者用栈,先进后出,插入vector注意 vector的使用,递归时&#include <vector> //可以不用加头文件//vector俩种插入方式:pash_back//insert(a.end(), val); 不用初始化容量大小 【】要//面试题 宁可用递归也不用栈class So...
2018-08-17 21:31:32
172
原创 【题目】【剑指offer】字符串替换
给定一个字符串,将字符串中空格的替换为%20思路:先正向遍历一遍,找出有几个空格,记录在count第二遍从后向前遍历,将每个字符向后移动2*count每次替换一个空格count减一//字符替换 --正向读取空格数, 反向移动字符//str可以用[] 在面试题下不考虑是否越界;class Solution {public: void replaceSpace(...
2018-08-17 21:27:01
153
原创 【网络编程】TCP协议解读
TCP 传输控制协议@(Linux)TCP 传输控制协议1.协议格式2.面向链接2.1面向字节流2.2三次握手2.3四次挥手3.可靠性3.1确认应答3.2超时重传3.3滑动窗口3.4流量控制3.5拥塞控制4.提高性能4.1延时应答4.2捎带应答1.协议格式 16位源端口号 16位目的端口号...
2018-08-17 20:12:39
249
原创 《高c/c++》 1-6章
1-6 章 :编程风格,编程素养书籍:《高质量c/c++》 林锐 博士 半个小时读了《高质量c/c++》1-6章,属于对之前的知识点的复习与再整理。内容大部分是代码的编写风格与规范性。在函数返回值的部分较为重要,记忆引用传递的应用与原理。1文件结构编写风格:头文件.h:声明定义文件.cpp:定义版权声明。。。头文件:ifndef。。结构作用:防止头文件被重复使用,产生预处理块<>...
2018-06-03 00:14:35
198
原创 【数据结构】搜索树
二叉搜索树Binary Search Tree 静态查找, 动态查找无序链表:灵活性好有序数组:效率高直接把元素放在树上,树的动态性强。这种方式查找,即灵活又效率高。 二叉搜索树,又称有序二叉树,排序二叉树顾名思义用来排序,何以排序,键值比大小键 : key 排序用的是key,权值值 :value 有意义的数据性质:1.非空左子树的键值...
2018-04-05 16:39:21
370
原创 【数据结构】AVL树
AVL树叫作高度平衡二叉树,性质-》 首先是二叉树,具有二叉树的左小右大,之所以叫做高度平衡,他可以根据插入的顺序来自动调节平衡, 使左右子树的高度差绝对值小于1。so 加入了一个平衡因子来判平衡,并旋转等一些操作来到达平衡。 下面为一个数学规律:时间复杂度:log2^N结点树为n,完全二叉树的高 度h = log2n高度h从零开始计设高度为h...
2018-04-05 11:17:28
308
原创 Linux基本命令
文件目录操作命令cd ..cd~ 进入用户家目 root的家目录是/root一般用户家目录是 /home/id绝对路径:cd /home/ly/相对路径:cd ../bin/ ..上级目录小的文件pwd 显示当前用户所在目录ls列出子目录与文件信息。 -a -l -1touch 改变文档或目录的时间,或建立一个不存在文档mkdir 创建一个目录mkdir -p 路径 可以递归创建多...
2018-04-03 15:07:26
112
原创 【题】俩数相加
不使用任何运算算术符,完成俩个相同类型的整数的相加;#include <stdio.h>int add(int a, int b){ if (b == 0) return a; return add(a^b, (a&b) << 1);}int main(){ int a = -45; int b = 20; int num = add(a,...
2018-03-23 00:01:14
243
原创 【C++】模板的分类编译
模板的分类编译 错误模式在日常的编译中,一个工程我们统常会建立多个源文件,和头文件。当我们将一个模板函数/类声明在头文件中,定义在源文件,main函数在另一个源文件中运行程序。那么程序在链接时会出错。//Tem.htemplate<class T>void fun(T a);//Tem.cpp#include "Tem.h"template<class T>void fun(T a){
2017-08-08 01:08:47
295
原创 【C++】对象模型
多态&虚函数&对象模型多态首先多态建立在继承的前提下,必须有虚函数的重写也称覆盖(父类必须为虚函数,子类可以不是)。必须通过父类的指针/引用调用虚函数 指向谁就用谁的形态多态与类型无关,只有对象有关。不同的对象调用相应的虚函数。 动态绑定:无法确定该函数是什么类型,只有在运行的时候,通过定义的对象所指的类型,才能确定要调用哪个类中的函数 class Person{publi
2017-07-27 23:17:05
286
原创 【C++】菱形继承
菱形继承:继承与多态是C++中重要的概念继承的基本概念:派生类(子类)是 具有基类(父类)性质的特殊群体,比如人是父类,学生/老师各是一个子类。 - 继承是面向对象复用的重要手段 - 三种限定修饰符:public private protected - 基类的私有成员是不能在派生类中被访问的,如果一些成员对象不想再基类中被直接访问,但可以在派生类中被访问,可以被定义为保护成员。保护成员限定符是
2017-07-26 11:29:35
1049
原创 【C++】动态内存管理
【C++】动态内存管理:C语言中:标准库的函数 malloc/freevoid Test1(){ int* p1 = (int*)malloc(sizeof(int) * 4); free(p1); p1 = NULL; int* p2 = (int*)calloc(4, sizeof(int)); int* p3 = (int*)realloc(p2, s
2017-07-21 22:34:23
271
原创 【C++】类与对象基础
C++中最重要的就是类与对象了: 类就相似于c语言中的结构体,但类的意思是现实世界里一类事物的统称,相当于数据库里的实体。类分为数据(成员变量)和程序(成员函数)。 数据相当于实体具有的属性,对象是实体的一个实例相当于数据库的元组。 类的三大特性:封装,继承,多态。类有三种访问限定符:public(公有) protect(保护) private(私有)体现了类的封装性。#
2017-06-27 16:12:40
327
原创 【C++】Cpp入门基础知识
Cpp入门基础知识 一,命名空间 首先应该明白数据在内存中的存储位置,如下图所示; 理解域为一个代码框,一个变量的作用域为一个代码框,在主函数外定义的无框变量的作用域是全局即整个程序。在任何一个域中都可以使用全局变量,所以应尽量减少使用全局变量,会让程序不稳定。在不同的域可以重名定义变量,如下面的变量a,输出时使用该域中的变量。namespace定义一个域,u
2017-06-21 11:09:56
718
原创 【数据结构】单链表--复杂链表的复制
在学习链表的最后,我们接触了复杂链表。一个链表的每个节点,有一个指向next指针指向下一个节点,还有一个random指针指向这个链表中的一个随机节点或者NULL,现在要求实现复制这个链表,返回复制后的新链表。 首先定义链表结构:typedef struct ComplexNode//复杂链表的结构{ DataType data; struct ComplexNode *_next
2017-06-15 17:28:23
893
原创 【数据结构】单链表--进阶题目
在实现单链表的基本与基础的操作后: 我们可以在单链表中考虑环与相交以及复杂单链表的问题。1.判断单链表是否带环?若带环,求环的长度?求环的入口点?并计算每个算法的时间复杂度&空间复杂度: ListNode* IsCycle(ListNode *pList)//是否带环{ if ((pList == NULL) || (pList->next == NULL)) return
2017-06-12 22:58:06
414
原创 【数据结构】单链表--基础
在实现单链表的基本功能后单链表的几个基本问题:1.比较顺序表和链表的优缺点,说说它们分别在什么场景下使用?顺序表(物理位置相邻):优点:在一段内存中用数组连续存放,所以方便随机查找元素。 缺点:动态开辟,容易造成内存浪费,需要一个元素,开辟过多。前面添加元素时,要逐个挪动后面的每个元素,较麻烦。 场景:数据频繁查找修改,但很少添加。单链表(物理位置不相邻):优点
2017-06-09 22:41:53
672
3
原创 【数据结构】单链表
单链表的基本实现 LinkedList一种编程思想: 写代码前先总结过程比如在写头插时,先分析出有3种状态1.空链表 2.一个节点 3.多个节点再根据状态写算法步骤,最后总结写代码LinkedList.h#pragma once#include #include #include #include typedef int DataType;typede
2017-06-09 21:38:33
553
1
原创 【C语言】注释转换
分析思路:状态转换将注释分为 常规状态(null),C语言状态(/*), Cpp状态(//)用三种状态的转换来分析复杂多样的注释情况;Commentconvert.h#ifndef __COMMENTCONVERT_H__#define __COMMENTCONVERT_H__#define _CRT_SECURE_NO_WARNINGS 1#inc
2017-06-06 23:39:19
441
原创 【小游戏】扫雷
C语言实现的一个简单的扫雷游戏:界面简单,功能:首次踩雷的,会换雷。扫雷有九宫格扩撒环境:VS2015 代码如下:game.h #pragma once#ifndef __GAME_H__#define __GAME_H__#define ROWS 11#define COLS 11#define NUM (9)#include <stdio.h>...
2017-04-11 19:10:44
362
原创 【小游戏】三子棋
【C语言】实现最简单的三子棋无人工智能,界面简单,手动输入坐标X X代码如下 环境:VS2015game.h #pragma once#ifndef __GAME_H__#define __GAME_H__#include <stdio.h>#include <stdlib.h>#include <string.h>#incl...
2017-04-10 12:49:49
424
原创 【C语言】操作符
C语言的操作符有很多种,也很重要,可分为以下几类:1.算术操作符:+ - * / %除法中:俩个整形相除结果也等于整形;含有浮点型的除法中结果也为浮点型。% :模运算只能用于整数,因为有小数点时,为浮点数运算,浮点数除法中不存在小数。int main() { int a = 3; int b = 2; printf("%d",3/2);//结果为1,不是1.5...
2017-03-26 14:51:01
907
原创 【C语言】计算一个数二进制中一的位数
#include //计算一个数int cout_one_bits(int unsigned value){ int cout = 0; while (value>0) { if (value % 2 == 1) { cout++; } value = value / 2; return cout; }int main(){ int num = 0, c
2017-03-21 21:52:30
2017
原创 【C语言】 交换俩个整形变量的值
1.给定俩个整形变量的值,将俩个变量值交换,不允许创建新的变量第一种利用数学和的方法,将俩数之和存到a中,再减去b就得到a的值,赋值给b即可,同理的b。就可以交换#include //值互换int main(){int a = 0, b = 0;a = 1,b = 2;a = a + b;b = a - b;a = a - b;printf("a=%d,b=
2017-03-19 17:19:25
1405
空空如也
c语言中浮点数存储方式
2015-11-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人