基础构建
文章平均质量分 57
J_link
这个作者很懒,什么都没留下…
展开
-
Linux 软件安装
sudo apt-get install 软件名原创 2016-08-02 19:19:12 · 230 阅读 · 0 评论 -
循环链表
链表中最后一个结点的指针域指向头结点,整个链表形成一个环。插入数据元素操作与单链表操作一样头插法 分析: 新节点指向当前的第一个结点 尾结点指向新节点第一次插入结点 尾节点指针指向第一个数据节点(即自己指向自己)删除头结点 更新head结点,并且尾结点重新连接新的头结点优点 功能增强了(循环链表只是在单链表的基础上做了一个加强) 循环链表可以完全取代单链表的使用 循环链原创 2016-09-04 19:49:50 · 209 阅读 · 0 评论 -
双向链表
在单链表的结点中增加一个指向其前驱的pre指针。 为什么需要双向链表? 单链表的结点都只有一个指向下一个结点的指针 单链表的数据元素无法直接访问其前驱元素 逆序访问单链表中的元素是极其耗时的操作!(如图)普通位置插入节点 current->next=node; node->next=next; next->pre=node; node->pre=current;在空链表中插入节原创 2016-09-04 21:45:20 · 304 阅读 · 0 评论 -
一般项目方案特点
规范化:严格遵循各种相关规范设计 独立性:系统各个子系统间互相独立,在保持系统间接口的前提下,各系统间的升级互不干扰 最小耦合性:各子系统进行严格功能分解,每个子系统负责单纯的功能,互不干扰 开放性:系统遵循开放的业界标准。 兼容性:兼容各种硬件平台、软件平台、密码设备。 灵活性:充分考虑未来业务,技术上的需求,在业务和技术变化时,可平滑升级。原创 2016-09-04 22:03:08 · 1460 阅读 · 0 评论 -
统一通讯组件接口
项目开发时:上层业务流和基础组件要合理分层 可跨平台操作 未定性 连接的处理(短连接,长连接) 公网:断链修复 公网:粘包处理原创 2016-09-04 22:08:43 · 535 阅读 · 0 评论 -
栈的存储方式
栈(Stack) 栈元素具有线性关系,即前驱后继关系。只不过它是一种特殊的线性表而已。定义中说是在线性表的表尾进行插入和删除操作,这里表尾是指栈顶,而不是栈底。特性 它的特殊之处在于限制了这个线性表的插入和删除的位置,它始终只在栈顶进行。这也就使得:栈底是固定的,最先进栈的只能在栈底。操作 栈的插入操作,叫做进栈,也成压栈。 栈的删除操作,叫做出栈,也有的叫做弾栈,退栈。 创建栈原创 2016-09-05 09:39:24 · 2044 阅读 · 0 评论 -
队列
队列是一种特殊的受限制的线性表。 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 队列是一种先进先出的(First In First Out)的线性表,简称FIFO。允许插入的一端为队尾,允许删除的一端为队头。队列不允许在中间部位进行操作!队列的链式存储 队列也是一种特殊的线性表;可以用线性表链式存储来模拟队列的链式存储。原创 2016-09-05 09:51:21 · 331 阅读 · 0 评论 -
树
由一个或多个(n≥0)结点组成的有限集合T,有且仅有一个结点称为根(root),当n>1时,其余的结点分为m(m≥0)个互不相交的有限集合T1,T2,…,Tm。每个集合本身又是棵树,被称作这个根的子树 。树的结构特点 非线性结构,有一个直接前驱,但可能有多个直接后继(1:n) 树的定义具有递归性,树中还有树。 树可以为空,即节点个数为0。术语 根 即根结点(没有前驱) 叶子原创 2016-09-05 11:20:45 · 339 阅读 · 0 评论 -
STL---vector
vector容器:长度动态改变的动态数组 动态数组,连续内存空间,具有随机存取效率搞得有点; 单口容器,在队尾部差如何删除效率高,在指定位置插入会导致数据元素移动,效率低。vecotr容器实现动态增长: 再当插入新元素的时候,vector会重新申请一块更大的内存空间,将原空间数据拷贝到新的内存空间,然后释放旧的内存空间,再将新元素插入到新空间中,以此可以看出vector原创 2016-08-25 22:28:12 · 193 阅读 · 0 评论 -
gcc
gcc(Gun CompilerCollection缩写),最初是是作为c语言的编译器(Gun C Compiler),现在已经支持很多语言了,如c、c++、java等语言gcc的主要特征: 1) gcc是一个可移植的编译器,支持多种硬件平台 2) gcc不仅仅是一个本地编译器,它还跨平台交叉编译 3) gcc有多种语言前端,用于解析不同语言 4) gcc是按模块化设计的,可以加入新语言和原创 2016-09-06 22:14:37 · 320 阅读 · 0 评论 -
模板
建立一个通用函数, 其函数类型和形参类型不具体制定,用一个虚拟的类型来代表。这个通用函数就成为函数模 板。凡是函数体相同的函数都可以用这个模板代替,不必定义多个函数,只需在模板中定义 一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现不同函 数的功能。c++提供两种模板机制:函数模板和类模板总结: 模板把函数或类要处理的数据类型参数化,表现为参数的多态性,成为类原创 2016-09-06 22:12:14 · 424 阅读 · 0 评论 -
c++风格的类型转换
static_cast 一般的转换 dynamic_cast 通常在基类和派生类之间转换时使用 const_cast 主要针对const的转换 reinterpret_cast 用于进行没有任何关联之间的转换,比如一个字符指针转换为一个整形数原创 2016-09-06 22:20:18 · 482 阅读 · 0 评论 -
qt之路
question_1:显示窗口 Qt全屏显示函数 showFullScreen() Qt最大化显示函数 showMaximized() Qt最小化显示函数 showMinimized() Qt固定尺寸显示函数 resize(x,y) Qt设置最大尺寸函数 setMaximumSize(w,h) Qt设置最小尺寸函转载 2016-09-26 17:35:08 · 443 阅读 · 0 评论 -
Boost.Regex 成员函数
正则表达式是解决大量模式匹配问题的基础。它们常用于处理大的字符串,子串模糊查找,按照tokennize字符串,或者是基于某种规则修改字符串。regex 为c++带来了对正则表达式的支持 改进有效输入的健壮性 包含了perl,grep和Emacs等常见工具所使用的几种不同语法。用法一:字符匹配,字符串匹配,格式转换,字符串替换,格式化文本等使用时许加上include “boost/regex.翻译 2016-10-13 12:02:06 · 530 阅读 · 0 评论 -
sqlite3数据库相关
在官网上down下列文件 sqlite-dll-win32-x86-3150000.zip sqlite-tools-win32-x86-3140200.zip sqlite-amalgamation-3150000.zip将解压后的sqlite3.exe所在的文件路径加到path里面初步的完成,搜索其他文章完成所需步骤原创 2016-10-24 10:21:14 · 398 阅读 · 0 评论 -
sqlite生成数据库,并添加数据
运行sqlite3.exe .open dbname.db create table test(value, text); insert into test(value) values(“name”); select * from test;原创 2016-10-24 15:05:16 · 531 阅读 · 0 评论 -
线性表的链式存储
为了表示每个数据元素与其直接后继元素之间的逻辑关系,每个元素除了存储本身的信息外,还需要存储指示其直接后继的信息。单链表 线性表的链式存储结构中,每个节点中只包含一个指针域,这样的链表叫单链表。 通过每个节点的指针域将线性表的数据元素按其逻辑次序链接在一起(如图)。概念解释: 表头结点 链表中的第一个结点,包含指向第一个数据元素的指针以及链表自身的一些信息 数据结点 链表中代原创 2016-09-04 19:46:17 · 315 阅读 · 0 评论 -
线性表的顺序存储
线性表是零个或者多个数据元素的有限序列。 特性: 数据元素之间是有顺序的. 数据元素个数是有限的. 数据元素的类型必须相同.数学定义: 线性表是具有相同类型的 n( ≥ 0)个数据元素的有限序列(a0,a1, a2, …, an) ai是表项,n 是表长度。性质: a0为线性表的第一个元素,只有一个后继。 an为线性表的最后一个原创 2016-09-04 19:38:48 · 378 阅读 · 0 评论 -
python基础学习
默认参数: def foo(debuf=true): ………. 类: 定义: class ClassName(base_class[es]): ……模块:一种组织形式,他讲彼此有关系的python代码组织到一个个独立文件里面,模块可以包含可执行代码、函数和类,或者这些东西的原创 2016-08-06 15:16:17 · 257 阅读 · 0 评论 -
QT
Qt中的窗口类 QWidget 1·可以作为顶层窗口 2·如果子窗口为QWidget,并且设置了父对象,那么会依赖于父窗口的上边 3·可以作为一个容器使用—布局 4·成员函数 设置宽度—setFixedWidth 设置高度—setFixedHeight原创 2016-08-29 14:02:55 · 421 阅读 · 0 评论 -
异常机制
异常处理就是处理程序中的错误。一种思想:在所有支持异常处理的编程语言中(例如java),要认识到的一个思想: 在异常处理过程中,由问题检测代码可以抛出一个对象给问题处理代码,通过这个对象的类 型和内容,实际上完成了两个部分的通信,通信的内容是“出现了什么错误” 。当然,各种 语言对异常的具体实现有着或多或少的区别,但是这个通信的思想是不变的。异常出现之前处理错误的方式 在C 语言的世界中,对原创 2016-09-11 10:26:07 · 353 阅读 · 0 评论 -
设计模式
设计模式目前类型: GoF的23中 + “简单工厂模式” = 24种 设计模式基础:多态创建型模式: 单例模式:是保证一个类仅有一个实例,并提供一个访问它的全局访问点。 简单工厂模式:通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 工厂方法模式:定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中 抽原创 2016-09-11 11:56:18 · 294 阅读 · 0 评论 -
tcp三次握手和四次断开概要
三次握手 建立连接时,客户机向服务器发送一个TCP数据包,这个数据包中不含有任何数据,只有客户机的启动顺序,使用的目的端口号和TCP数据包的最大分段大小,还包含一个同步标示—syn. 服务器对自己的启动序号和最大分段大小进行回复,即首先确认客户机的SYN;发送一个ACK数据包,ACK数据包中的值为(A+1 ) wei原创 2016-09-05 09:29:47 · 255 阅读 · 0 评论 -
数据类型
是对数据的抽象 类型相同的数据有相同的表示形式、存储格式以及相关操作 程序中使用的所有数据都必定属于某一种类型数据类型分:简单类型、结构类型、指针类型 简单类型:基本类型、用户自定义类型 基本类型:int、float、char、void 用户定义类型:枚举类型(enum) 结构类型:数组、结构、联合、类 指针类型:*本质:固定大小的内存块的别名 作用:编译器预算对象分配的内存空间的大原创 2016-09-12 22:51:44 · 224 阅读 · 0 评论 -
网络应用程序设计模式
C/S模式 传统的网络应用设计模式,客户机(client)/服务器(server)模式。需要在通讯两端各自部署客户机和服务器来完成数据通信。 B/S模式 浏览器()/服务器(server)模式。只需在一端部署服务器,而另外一端使用每台PC都默认配置的浏览器即可完成数据的传输。 优缺点 对于C/S模式来说,其优点明显。客户端位于目标主机上可以保证性能,将数据缓存至客户端本地,原创 2016-09-01 18:36:10 · 2070 阅读 · 0 评论 -
数据类型
固定大小内存块的别名;是个模具,c语言规定:通过数据类型定义变量 sizeof操作符(计算数据类型大小) 可以给已经存在的数据类型起别名typedef typedef struct People { char name[64]; int age; }people_t; //给结构体类型起别名typedef unsigne原创 2016-08-23 20:50:57 · 248 阅读 · 0 评论 -
STL----string 容器
三大组件:容器,算法,迭代器 容器:存储有限数据元素的数据结构,比如stack,queue… 容器可以包含容器 容器又分为序列式容器和关联式容器 序列式容器—–有时间和地点决定位置,与数据内容无关 关联式容器—–制定好一定的规则,按照规则来确定位置迭代器:指针也是一种迭代器 itreator是一种对象,能够用来便利标准模板哭容器中的部分或全部元素。。。 算法:以有限的步骤,解决逻辑或者原创 2016-08-24 11:51:36 · 334 阅读 · 0 评论 -
函数重载
//函数的返回值,函数形参列表(参数的个数,参数类型,参数顺序) //函数重载 函数名相同,参数列表不同 //函数返回值并不是构成函数重载的条件int func(int a, int b) { cout << “func1” << endl; return 0; }//如果要是函数重载话,不要写默认参数,为了避免调用出现函数冲突 char func(int a, i原创 2016-08-24 12:17:46 · 257 阅读 · 0 评论 -
自定义信号槽
自定义信号(信号的返回值是void->草函数的返回值是void) 返回值, void类型 信号 实质是一个函数,定义的时候需要使用signals关键字声明 信号只需要函数声明,不需要实现 信号也是可以重载的 发送自定义信号的时候,需要使用关键字:emit (发送)signals: void newPaper(const QString &name);原创 2016-09-03 23:03:14 · 271 阅读 · 0 评论 -
数据结构相关概念
数据结构主要研究非数值计算问题的程序中的操作对象以及他们之间的关系,不是研究复杂的算法。 数据结构是计算机存储、组织数据的方式。 数据–程序的操作对象,用于描述客观事物(抽象的概念,将其进行分类后得到程序设计语言中的类型) 数据元素–组成数据的基本单位 数据项–一个数据元素由若干数据项组成 数据对象–性质相同的数据元素的集合原创 2016-09-04 12:10:22 · 301 阅读 · 0 评论 -
算法相关
算法–特定问题求解步骤的描述,在计算机中表现为指令的有限序列,算法是独立存在的一种解决问题的方法和思想。数据结构只是静态的描述了数据元素之间的关系,高效的程序需要在数据结构的基础上设计和选择算法。算法是为了解决实际问题而设计的 数据结构是算法需要处理的问题载体 数据结构预算法相辅相成特性 输入:有0个或者多个输入 输出:至少有一个 有穷性:算法在有限的步骤之后会自动结束而不会无限循环,并原创 2016-09-04 12:14:21 · 233 阅读 · 0 评论 -
算法效率的度量
事后统计 主要通过设计好的测试程序和数据,利用计算机的计时器对不同算法的编程的程序的运行时间进行比较,从而确定算法效率的高低。 统计方法:比较不同算法对同一组输入数据的运行处理时间。 缺陷:为了获得不同算法的运行时间必须编写相应程序 运行时间严重依赖硬件以及运行时的环境因素原创 2016-09-04 12:26:32 · 1356 阅读 · 0 评论 -
大O表示法
算法的时间复杂度 常见的时间复杂度 执行次数 阶 非正式术语12 O(1) 常数阶 小 2n+3 O(n) 线性阶原创 2016-09-04 13:47:00 · 636 阅读 · 0 评论 -
sqlite3.lib文件的生成
打开vs命令行模式,键入命令LIB/MACHINE:IX86 /DEF:D:\StudyAbout\softofmine\sqlite\sqlite3.def其中:命令行模式为 D:\StudyAbout\softofmine\ComTools\VS\Common7\Tools\Shortcuts下的开发人员命令提示)(此为作者电脑路径) D:\StudyAbout\softofmine\sql原创 2016-10-24 15:09:12 · 2890 阅读 · 0 评论