blog_zhangxu
码龄6年
关注
提问 私信
  • 博客:163,560
    动态:6
    163,566
    总访问量
  • 118
    原创
  • 629,322
    排名
  • 74
    粉丝
  • 0
    铁粉

个人简介:美好的年华,别让自己失望

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2018-10-24
博客简介:

zhangxu

查看详细资料
个人成就
  • 获得352次点赞
  • 内容获得42次评论
  • 获得760次收藏
  • 代码片获得304次分享
创作历程
  • 1篇
    2021年
  • 1篇
    2020年
  • 107篇
    2019年
  • 9篇
    2018年
成就勋章
TA的专栏
  • 每日一题
    1篇
  • Linux
    31篇
  • 数据结构
    19篇
  • C++
    16篇
  • C语言
    42篇
  • 数据库
    6篇
  • 项目
    1篇
  • Linux思维导图
    1篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

2021-02-02

两数之和给定一个数组和一个目标数,查找数组中是否有两个数之和等于目标数,如有,返回两个数的下标。1. 暴力 : 两层for循环(指定一个数,按个遍历剩余数)2. hash表:将数组存入哈希表,单循环即可...
原创
发布博客 2021.02.02 ·
227 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Linux Vim插件管理器Vundle安装和使用

Vundle是vim的一个插件管理器, 同时它本身也是vim的一个插件。插件管理器用于方便、快速的安装、删除、Vim更新插件。vim Vundle插件官方地址:https://github.com/VundleVim/Vundle.vim步骤1、下载Vundle插件(一)使用"yum -y install git"安装git命令(二)输入指令mkdir -p ~/.vim/bundlegit clone https://github.com/gmarik/Vundle.vim.gi.
原创
发布博客 2020.08.04 ·
978 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

二叉搜索树

二叉搜索树基本概念二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值;它的左右子树也分别为二叉排序树。如下图所示二叉搜索树的查找若根节点 = 要查找的节点 返回true若根节点 < 要查找的节点 ,在右子树种查找若根节...
原创
发布博客 2019.07.26 ·
384 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

IO多路转接之select、poll、epoll简介及优缺点对比

IO多路转接IO多路转接也叫做IO多路复用,它是一种处理高并发的IO事件监控。它可以同时对大量的描述符进行监控,监控其是否具备了IO条件。就绪:包括了读就绪事件(就是有数据到来的时候),写就绪事件(缓冲区有空闲的空间),异常事件(发生异常)。对于服务器来说,很多时候我们都是监控的读事件,对于写事件和异常事件都只会在特定的情况下使用。IO多路转接之selectselect简介系统提供了se...
原创
发布博客 2019.07.25 ·
586 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏

五种IO模型

五种IO模型以前,我看过别人针对五种IO模型举过一个很合适的例子,那么今天我将以生动的例子帮助大家更好的理解这五种IO模型。阻塞IO假如A在河边钓鱼的时候,非常的专心,生怕鱼儿溜掉,故此,A就一直盯着鱼竿,一直等着鱼儿上钩,专心的做这一件事情,直到鱼儿上钩,才结束这个动作,这就是阻塞IO。在内核把数据准备好之前,系统调用会一直处于阻塞状态。非阻塞IO假如B也在河边钓鱼,B不想像A一样把...
原创
发布博客 2019.07.25 ·
299 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

C++多态

C++多态多态概念字面意思,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。举个例子:假如你要去看电影,有的影院也许有这样的规定,如果你是成年人,那么就是全票,如果你是学生,那么就是半价票,如果你是一个小孩子,那么你就不需要票,免费。这就是很典型的一个例子,针对不同的对象,你去做这件事发生的结果是不一样的。多态的发生条件必须通过基类的指针或者引用调用虚函...
原创
发布博客 2019.07.24 ·
310 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

C++继承

C++继承继承概念继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,而继承是类设计层次的复用。class Person{public: void Print() { co...
原创
发布博客 2019.07.24 ·
231 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

C++类型转换

C++类型转换C语言类型转换在c语言中,存在两种类型转换,一种是隐式类型转换,另一种是显示类型转换。如下所示。int a = 4;double b = a; //隐式类型转换int *ptr = &a;int address = (int) ptr;缺陷:C语言中的隐式类型转换看起来是很方便,但在有些时候也会给我们带来一些隐患问题。C语言中的强制类型转换太...
原创
发布博客 2019.07.24 ·
504 阅读 ·
5 点赞 ·
0 评论 ·
17 收藏

基于C++和SQLite自主开发的SuperDocumentRetriever

项目简介项目名称 : SuperDocumentRetriever(超级文档检索器)开发环境 : Visual Studio 2017项目描述 : 本项目是一款实用型小工具,可以根据输入的关键字快速的在         本地检索出相关信息项目特点 : 1. 使用 Sqlite 数据库        2.自主实现简易...
原创
发布博客 2019.07.22 ·
1308 阅读 ·
5 点赞 ·
2 评论 ·
2 收藏

C++ 异常处理

C语言处理错误的方式终止程序。assert ,这种方式比较粗暴,如发生内存错误,除0错误时就会终止程序返回错误码,缺陷:需要程序员自己去查找对应的错误。如系统的很多库的接口函数都是通过把错误码放到errno中,表示错误C 标准库中setjmp和longjmp组合。这个不是很常用,这个我也不是很了解。大家知道有这么个东西就行了。C++异常概念异常是一种处理错误的方式,当一个函数发现自己...
原创
发布博客 2019.07.20 ·
268 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

C++智能指针

导入我在学习C语言的时候,最让人头疼的便是指针,指针本身并不难,但是指针和内存挂钩就显得不那么容易理解。我们经常要利用 malloc 申请内存空间,但是一不留神就忘记释放内存空间,那么着就会造成内存泄漏,不容小觑。那么C++中我们该如何解决这个问题呢?RAII基本描述RAII(Resource Acquisition Is Initialization)是一种利用对象生命周期来控制程序资源...
原创
发布博客 2019.07.19 ·
189 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

MySQL表的内外连接以及视图

MySQL内连与外连内连接内连接实际上就是利用where子句对两种表形成的排列组合进行筛选语法select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;举个例子-- 用以前的写法select ename, dname from emp,dept where emp.deptno=dept.deptno and ename='MIKE';--...
原创
发布博客 2019.07.14 ·
1208 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

MySQL索引与事务

MySQL索引索引基本描述索引是用来提高数据库的性能的一种机制。不用加内存,不用改程序,不用调sql,只要执行正确的create index ,查询速度就可能提高成百上千倍。但是天下没有免费的午餐,查询速度的提高是以插入、更新、删除的速度为代价的,这些写操作,增加了大量的IO。所以它的价值,在于提高一个海量数据的检索速度。索引分类主键索引(primary key)唯一索引(unique...
原创
发布博客 2019.07.14 ·
636 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

MySQL增删改查基本使用(CRUD)

前言在前几篇,我介绍了关于MySQL的基本概念,那么本次就要开始介绍关于MySQL的最重要的部分,那就是关于表的操作。(CRUD- Create, Retrieve,Update,Drop)。建表例:创建一张学生表create table student( id int primary key, name varchar(20), sex varchar (2), addr var...
原创
发布博客 2019.07.14 ·
300 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

MySQL 数据类型及约束

MySQL数据类型数据类型分类MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。数值类型日期和时间类型字符串类型char与varcharchar(L): 固定长度字符串,L是可以存储的长度,单位为字符,最大长度值可以为255varchar(L): 可变长度字符串,L表示字符长度,最大长度65535个字节关于varchar(l...
原创
发布博客 2019.07.14 ·
243 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

MySQL库操作及表操作

MySQL库操作创建数据库创建一个名为 student1 的数据库create database student1;创建一个使用utf8字符集的 student2 数据库create database student2 charset=utf8;创建一个使用utf字符集,并带校对规则的 student3 数据库。create database student3 cha...
原创
发布博客 2019.07.14 ·
219 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

mysql数据库基础

数据库的基本介绍相关概念DBMS:数据库管理系统,就是数据库软件数据库:保持有组织的数据的容器(通常是一个文件和一组文件),不管数据是什么或如何组织的,是通过DBMS创建和操纵的容器。SQL:结构化查询语句,是专门用来与数据库沟通的语言,需要一个支持SQL语句执行的应用程序表:某种特定类型数据的结构化清单,存储在表中的数据是同一种类型的数据或清单主流数据库介绍Oracle: 甲...
原创
发布博客 2019.07.14 ·
212 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

UDP与TCP协议简介

前言本节起,我们主要介绍关于传输层相关的两个著名协议,即 UDP 与 TCP 协议,那么就让我们开始从传输层说起。传输层基本概念我们知道传输层位于网络层之上,网络层提供了主机之间的逻辑通道。那既然已经把一个数据包从一个主机发到另一个主机上面了,为什么还需要传输层呢?这是因为传输层提供了应用进程之间的端与端之间的数据传输功能。我们知道一个电脑可能有多个进程同时在使用网络连接,那么网络包达到主...
原创
发布博客 2019.07.11 ·
539 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

UDP/TCP常见面试题

为什么需要第三次握手?如果没有第三次握手,可能会出现如下情况:如果只有两次握手,那么server收到了client的SYN=1的请求连接数据包之后,便会分配资源并且向client发送一个确认位ACK回复数据包。那么,如果在client与server建立连接的过程中,由于网络不顺畅等原因造成的通信链路中存在着残留数据包,即client向server发送的请求建立连接的数据包由于数据链路的拥塞或...
原创
发布博客 2019.07.11 ·
796 阅读 ·
3 点赞 ·
0 评论 ·
13 收藏

HTTP协议简介

应用层基础概念应用层就是在应用程序之间进行数据交换,我们平时写的一个个应用程序解决一个个实际问题,满足日常需求的网络程序,都是在应用层。应用层常见协议HTTP协议——超文本传输协议FTP协议——文件传输协议SMTP协议——简单邮件传输协议DNS协议——域名解析协议应用层有好多协议,都是由我们程序员自己处理的,在这些协议中,我们最常用的就是HTTP协议,那么接下来就让我们一起来看...
原创
发布博客 2019.07.09 ·
1222 阅读 ·
3 点赞 ·
0 评论 ·
2 收藏
加载更多