自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

从今以后...

成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成的

  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 关于MySQL多表连接查询

select a.*,c.device_name from device_warn as a inner join user_warn as bon a.id=b.warn_id and b.state=1 inner join device_info as c on c.DEVICE_ID=a.DEVICE_ID where a.DEVICE_ID in (select DEVICE_ID from device_station where STATION_ID in (select STAT.

2021-01-13 13:53:19 164

原创 CentOS 7磁盘分区和挂载

磁盘分区实际上是将一个磁盘从逻辑上进行分割,完成分区后,需要进行格式化之后才能使用,格式化最主要的目的就是写入文件系统,目前有两种主流的分区方案:一、MBR分区方案:1、最大支持四个主分区,最多支持15个分区;2、MBR有两种分区类型:主分区和拓展分区;3、拓展分区是多个逻辑分区的组合,本身不可用;4、一个拓展分区,会占用一个主分区的位置;二、GPT分区1、使用64位值...

2019-11-05 20:11:24 532

原创 使用c语言操作sql server数据库

本文使用c语言来对sql server数据库进行操作,实现通过程序来对数据库进行增删改查操作。操作系统:windows 10 实验平台:vs2012 + sql server 2008ODBC简介:开放数据库连接(Open Database Connectivity,ODBC),主要的功能是提供了一组用于数据库访问的编程接口,其主要的特点是,如果应用程序使用ODBC做数...

2019-08-21 18:47:10 18720 16

原创 指针与数组

指针操作永远是c/c++的精华所在,很多其他语言的使用者喜欢抨击指针操作不方便,易造成内存泄漏,其实,只要对指针操作足够熟悉,指针将是一把利剑。

2017-05-08 09:49:22 473

转载 理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)

原文见:http://packetlife.net/blog/2010/jun/7/understanding-tcp-sequence-acknowledgment-numbers/ 如果你正在读这篇文章,很可能你对TCP“非著名”的“三次握手”或者说“SYN,SYN/ACK,ACK”已经很熟悉了。不幸的是,对很多人来说,对TCP的学习就仅限于此了。尽管年代久远,TCP仍是一个相

2016-06-22 16:54:35 1401 2

原创 递归程序设计心得与体会

用递归设计出来的程序总是简洁易读,极具美感。但是对于刚入门的学者来说,当遇到递归场景时,自己却难以正确的设计出合理的递归程序。博主曾经也是困惑不已,写的多了,也就渐渐的熟悉了递归设计。特谈一下自己的感受,有些术语是博主自己总结,有可能有不合理之处。学习递归程序设计,建议首先应该从小规模的递归开始研究,小规模就是说自己可以调试跟踪代码,且自己不会晕。这个过程完成之后,才能熟练掌握递归层次

2016-06-19 16:59:46 10734 11

原创 Linux 进程及其创建

1、Unix中的父子进程,unix是多进程操作系统,进程的启动也是具有先后顺序的,一般的情况下是系统先启动0进程 ,然后由0进程启动进程1和进程2,在由进程1和进程2启动其他进程。2、unix中进程由进程PID唯一标识;     函数getpid()可以获取当前进程PID;     函数getppid()用于获取当前进程父进程的PID;     函数getuid()用于获取

2016-06-14 16:51:57 523

原创 Linux文件锁

当多个进程同时操作一个文件时,必然会引发数据之间的冲突,例如一个进程在读文件,另一个进程却在写文件,或者是两个进程都在同时写文件。为了使得多个进程操作文件时的安全性,可以使用文件锁。文件锁允许多个进程同时读文件(因为读操作并没有影响文件的内容),但不允许同时写,一些读一些写也不行,所以文件锁分为读锁和写锁。读锁的效果是允许其他进程读文件,但不允许其他进程写文件,而写锁的效果是即不允许其

2016-06-13 22:16:07 1264

原创 c++中的抽象类

在面向对象的编程过程中,有些类的创建是毫无意义的,它的概念是抽象的,比如动物,电器,人这样类,比如到商店给店员说我要买一台电器。编程过程中可以将这些类设置为抽象类,以防止它们创建对象。只要一个类中出现纯虚函数,那么这个类就是抽象类。Class Animal{         Public:virtual void show() = 0;//纯虚函数的表达};抽象

2016-06-10 11:39:38 2829 2

原创 c++面向对象三大特征封装、继承和多态知识总结

面向对象三大特征:封装,继承,多态;一、封装:该公开的就公开话,该私有的就隐藏掉,主要是由public,private实现;作用是便于分工和分模块,防止不必要的扩展;二、继承:就是一种传承,可以把父类型中的数据传承到子类中,子类除了传承了父类的数据之外,还可以对父类型进行扩展;公开继承  public保护继承  protected私有继承  private保护成员:在子

2016-06-05 18:23:17 7995

转载 c++文件读写

在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结:这里主要是讨论fstream的内容:[java] view plain copy print?#include   ofstream         //文

2016-05-28 19:53:21 601

原创 刻在英国威斯敏斯特大教堂的一块墓碑上的话

"当我年轻的时候,我梦想改变这个世界;当我成熟以后,我发现我不能够改变这个世界,我将目光缩短了些,决定只改变我的国家;当我进入暮年以后,我发现我不能够改变我们的国家,我的最后愿望仅仅是改变一下我的家庭,但是,这也不可能。当我现在躺在床上,行将就木时,我突然意识到:如果一开始我仅仅去改变我自己,然后,我可能改变我的家庭;在家人的帮助和鼓励下,我可能为国家做一些事情;然后,谁知道呢?我甚至可能改变这个

2016-05-21 16:48:24 5669

原创 c++分离式编译模型

c++开发中广泛使用声明和实现分开的开发形式,其编译过程是分离式编译,就是说各个cpp文件完全分开编译,然后生成各自的obj目标文件,最后通过连接器link生成一个可执行的exe文件。一、普通函数声明和实现分开的分离式编译---------------test.h-------------------  void f();这里的.h文件只是声明一个函数f--------

2016-05-11 15:52:17 7566 1

转载 洗牌算法

原文地址:http://blog.csdn.net/feixiaoxing/article/details/6860339/扑克牌洗牌是我们生活中比较喜欢玩的一个游戏。那么我们有没有什么办法自己设计一个扑克牌洗牌的方法呢?在c运行库当中有一个随机函数rand,它可以生成0~32767之间的任意数。那么有没有可能利用这么一个函数对我们扑克牌进行随即洗牌呢?    在这里我抛砖引玉

2016-05-08 16:43:34 492

转载 TCP三次握手

原文链接:http://www.cnblogs.com/renyuan/archive/2013/11/19/3431022.htmlTCP三次握手连接在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到s

2016-05-06 16:25:27 498

原创 c++中的智能指针auto_ptr解析

c++中的auto_ptr是一个类,却可以像指针一样去使用。使用auto_ptr需要包含头文件#include 例如:auto_ptr ps(new string("hello"));可以像指针一样去使用它,cout size()引例:#include #include using namespace std;class A{public: A(int x = 0) :m_

2016-05-06 10:56:26 5869

转载 ostringstream的用法

ostringstream的用法【本文来自】http://www.builder.com.cn/2003/0304/83250.shtmlhttp://www.cppblog.com/alantop/archive/2007/07/10/27823.html使用stringstream对象简化类型转换C++标准库中的提供了比ANSI C的更高级的一些功能,即单纯性、类型安全

2016-04-21 11:36:34 716

转载 c++内存分配(new,operator new)详解

本文主要讲述C++ new运算符和operator new, placement new之间的种种关联,new的底层实现,以及operator new的重载和一些在内存池,STL中的应用。一 new运算符和operator new():     new:指我们在C++里通常用到的运算符,比如A* a = new A;  对于new来说,有new和::new之分,前者位于std

2016-04-16 23:21:09 2681 1

原创 关于c++的运算符重载那些事

搞c++有一段时间了,今天突然要重载一个运算符,发现自己有点忘了,遂查查资料做一下c++运算符重载的小总结。一、何为运算符重载运算符的重载是c++语言特有的,java什么的是没有运算符重载的,所以运算符重载在笔试面试中有可能成为c++的高频考点。运算符重载就是重新定义运算符的意义,如常用的+,-,×,÷都是可以重载的。运算符重载使用的是关键字operator,表现形式是:

2016-04-16 21:59:12 6895 1

原创 c++引用极其底层实现

一、c++中引用的语法是这样的:int x = 100;int& _x = x;它的意思就是是给变量x起了一个别名,在以后的代码中,_x其实就是x,这两个是等价的。举个例子,在《唐伯虎点秋香》中,唐伯虎叫做华安,又叫做9527,其实这三个名字都是同一个人,引用就是这个意思。注意事项:引用初始化的时候一定要绑定一个变量;引用一旦初始化,则终身为这个变量服务;不能返

2016-04-13 15:19:08 1104

原创 图的深度优先遍历

一、深度优先查找原理:深度优先搜索可以从图的任意顶点开始,然后把该顶点标记为已经访问,每次迭代的时候,深度搜索紧接着处理与当前顶点邻接的未访问顶点(如果有若干个顶点,则任意选择一个,也可以按自己的条件选择),让这个过程一直持续,直到遇到一个终点——该点的每个邻接点都被访问过了,然后在该终点上后退一条边,并继续搜索未访问的点,直到返回起点(就是开始搜索的点),直到发现起点的所有邻接点都已经访问过

2016-04-11 21:50:40 1912

原创 C++ STL

一、STL概述1.标准模板库(STL)主要包括三部分1)容器:存储和管理对象的集合;2)算法:以泛型(一般化的类型)的方式对容器中的元素进行计算对元素和容器的类型通用;3)迭代器:在不暴露容器内部表示的前提下,访问其中的元素 联系容器和算法的纽带;2.STL的所有组件都是模板,全面支持泛型操作。3.STL的终极目标就是令数据结构和算法与类型无关。4.STL的

2016-03-08 09:08:01 432

原创 有序二叉树的实现

有序二叉树,二叉搜索树的实现。完成了二叉树有序插入,节点删除,中序遍历,树高,搜索,删除匹配数据等功能。三个文件,bt.h,bs.cpp,test.cpp.#ifndef _BT_H_#define _BT_H_#include using namespace std;typedef struct bstreenode{ int data; struct bstreenode *

2016-03-01 19:52:12 2702

原创 单向线性链表的实现

用c实现的单向线性链表,支持追加,插入节点,删除节点,清空,删除匹配节点,链表反转,有序插入等操作。分为三个文件list.h包含链表结构和函数的声明。list.cpp是各种函数的实现,test.cpp包含测试代码。/*list.h*/#ifndef _LIST_H#define _LIST_H#include using namespace std;typedef stru

2016-03-01 17:15:03 1140

原创 动态规划算法经典案例

动态规划的关键点:1、最优化原理,也就是最有子结构性质。这指的是一个最优化策略具有这样的性质,无论过去状态和决策如何,对前面的决策所形成的状态而言,余下的决策必须构成最优策略,简单来说就是一个最优化策略的子策略总是最优的,如果一个问题满足最优化原理,就称其有最优子结构性质。2、无后效性,指的是某个状态下的决策的收益,只与状态和决策相关,与达到该状态的方式无关。3、子问题

2016-02-29 20:14:52 59835 10

转载 用通俗易懂的大白话讲解Map/Reduce原理

原文链接:http://blog.csdn.net/lifuxiangcaohui/article/details/22675437Hadoop简介Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Reduce,分布式文件系统HDFS,以及分布式数据库Hbase,同时Hadoop的相关项目也很丰富,包括ZooKeeper,Pig,Chukwa,Hive

2016-02-25 23:02:52 631

转载 c++vector用法详解

原文地址:http://blog.csdn.net/hancunai0017/article/details/7032383vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.     用法:          1.文件包含:               

2016-02-25 10:10:25 3476

转载 c++中的栈和队列

原文链接:http://blog.csdn.net/zhy_cheng/article/details/8090346使用标准库的栈和队列时,先包含相关的头文件#include#include定义栈如下:stack stk;定义队列如下:queue q;栈提供了如下的操作[cpp] view plain cop

2016-02-20 16:09:41 659

转载 java中的Arrays的asList方法

Java中Arrays的asList()方法 可以将 数组转为List 但是,这个数组类型必须是 引用类型的,如果是8中基本数据类型就不可以 原因如下,引用别人的一篇文章:最近在用Arrays的asList()生成的List时,List元素的个数时而不正确。Java代码//经多次测试,只要传递的基本类型的数组,生成List的元素个数均为1  

2016-02-18 19:43:56 589

原创 两个字符串的最长公共子串-后缀数组

求解两个子串的最长公共子串一般常用的是动态规划算法,但是用后缀数组来处理这一类问题会非常简便,在很多刷题系统中基本都有最长公共子串的处理,所以这一类问题是比较重要的。c++版本的后缀数组处理最长公共子串问题。#include #include using namespace std;#define MAX 1000int ranked[MAX]={};int sa[MAX] ={

2016-02-03 19:55:55 1061

原创 华为oj字符串合并处理

按照指定规则对输入的字符串进行处理。详细描述:将输入的两个字符串合并。对合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从小到大排序。这里的下标意思是字符在字符串中的位置。对排训后的字符串进行操作,如果字符为‘0’——‘9’或者‘A’——‘F’或者‘a’——‘f’,则对他们所代表的16进制的数进行BIT倒序的操作,并转换为相应的大写字符。如字符为‘4’,为0100b,则翻转后

2016-02-03 19:46:07 988

原创 逆波兰表达式

逆波兰表达式又称作后缀表达式,在四则混合运算的程序设计中用到。例如:1+2写成后缀表达式就是12+4+5*(3-2)的后缀表达式就是4532-*+后缀表达式在四则运算中带来了意想不到的方便,在生成过程中自动保持了优先级;生成逆波兰表达式的算法如下:我们首先的用两个栈结构来存储运算符和操作数,在java中有Stack类可以用;从做到右遍历我们输入的中缀表达式:1、如果

2016-02-03 19:27:13 8996

原创 华为oj素数伴侣

题目描述若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的N(N为偶数)个正整数中挑选出若干对组成“素数伴侣”,挑选方案多种多样,例如有4个正整数:2,5,6,13,如果将5和6分为一组中只能得到一组“素数伴侣”,而将2和5、6和13编组将得到两组“素数伴侣”,能组成“素数伴侣”最多的方案称为“最佳方案”,当然

2016-02-03 18:44:10 4858 3

转载 java中的抽象类和接口区别于联系

深入理解Java的接口和抽象类原文链接: http://www.cnblogs.com/dolphin0520/p/3811437.html作者:海子  对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我

2016-01-06 16:48:58 599

转载 Java中的String,StringBuffer,StringBuilder的区别

原文地址:http://www.cnblogs.com/dolphin0520/p/3778589.html在java中有3个类来负责字符的操作。1.Character 是进行单个字符操作的,2.String 对一串字符进行操作。不可变类。3.StringBuffer 也是对一串字符进行操作,但是可变类。String:是对象不是原始类型.为不可变

2016-01-04 09:48:21 307

原创 java中String类比较常用的方法

一、构造方法:public String():空构造public String(byte[] bytes):把字节数组转成字符串public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串public String(char[] value):把字符数组转成字符串public String(cha

2016-01-02 14:58:50 662

原创 结构体中存在string类型成员

#include #include #include using namespace std;typedef struct node{string str;}NODE;int main(){string var = "lirao";NODE * node = (NODE *)malloc (sizeof(NODE)

2015-12-21 17:34:04 9570 1

转载 记阿里的三次面试

原文地址:http://blog.csdn.net/felicitia/article/details/8998857前言鉴于在网上搜“阿里三面”搜出来一堆“阿里巴巴三面牙刷”,没有任何借鉴意义,只能自己亲身经历了,故写点经验以后面试可以参考。本人参加了5月5日的笔试,在5月20多号接到了电面,紧接着第二天是电面二面,5月30号经历了传说中的终面,下面分阶段回顾一下整个阿里校招

2015-12-21 17:03:05 1734

转载 QT 实现QLabel上的超链接

QT 实现QLabel上的超链接方法一:一个简单的例子:Widget::Widget(QWidget *parent)    : QWidget(parent){    QLabel* label = new QLabel("显示的内容",this);    label->setFixedSize(200,100);    label->move

2015-12-11 17:05:32 3722

原创 linux下基于TCP协议的多线程聊天室的搭建

文章是博主在学习unix网络编程一段时间之后,算是做的一个小的总结吧。希望能够给刚入门unix网络编程的同学学习和参考,当然博主也是学生一枚,更希望有大神批评指点。。。      博主首先先介绍一下多线程的概念:      线程是基于进程来说的,一个进程可以有多个线程,多个线程共享进程的资源。举一个例子,比如我们启动了qq程序,可以说是启动了一个进程,而你打开的多个聊天窗口就是基于

2015-12-11 16:50:41 5618 8

c程序操作sql server数据库,hello,world

通过c程序来对sql server 2008数据库进行读写操作,使用ODBC数据源

2019-08-21

空空如也

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

TA关注的人

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