- 博客(37)
- 问答 (1)
- 收藏
- 关注
转载 C#中的线程(一)入门
C#中的线程(一)入门Keywords:C# 线程Source:http://www.albahari.com/threading/Author: Joe AlbahariTranslator: Swanky WuPublished: http://www.cnblogs.com/txw1958/Download:http://www.albahari.in
2016-01-12 20:16:34
406
原创 QTGraphicsViewFramework学习
1、简介Graphics View是一个基于item的M-V架构的框架,“Qt Graphics View 提供了用于管理和交互大量定制的 2D 图形对象的平面以及可视化显示对象的视图 widget,并支持缩放和旋转功能。Graphics View 使用 BSP(二进制空间划分)树形可非常快速地找到对象,因此即使是包含百万个对象的大型场景,也能实时图形化显示。”M-V架构的意思是,
2016-01-12 01:30:38
388
原创 Nuget使用入门
1、NuGet简介Nuget是 ASP .NET Gallery 的一员。NuGet 是免费、开源的包管理开发工具,专注于在 .NET 应用开发过程中,简单地合并第三方的组件库。当需要分享开发的工具或是库,需要建立一个Nuget package,然后把这个package放到Nuget的站点。如果想要使用别人已经开发好的工具或是库,只需要从站点获得这个package,并且安装到自己的Vi
2016-01-06 23:53:48
858
原创 SharpMap源码学习<一>
1、SharpMap简介SharpMap是一个基于.net Framework使用C#开发的Map渲染类库,可以渲染ESRI Shape、PostGIS、MS SQL等格式的GIS数据,通过扩展地图数据Provider,还可以支持其他格式,例如由其他作者开发的 Oracle Spatial provider。SharpMap可应用于桌面和Web程序。2、官网和git地址
2016-01-06 23:25:45
1989
转载 Git使用入门
Git使用教程原文出处: http://www.cnblogs.com/tugenhua0707/p/4050072.html一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服
2016-01-06 23:20:31
372
原创 顺序存储队列实现
#ifndef _SEQUENCE_QUEUE_LIST_H_#define _SEQUENCE_QUEUE_LIST_H_#pragma once/************************************************************************//* 顺序存储队列实现SequenceQueueList
2015-12-30 02:21:56
541
原创 队列顺序循环存储实现
#ifndef _CIRCULAR_SEQUENCE_QUEUE_LIST_H_#define _CIRCULAR_SEQUENCE_QUEUE_LIST_H_/************************************************************************//* 队列顺序循环存储实现CirSeqQueu
2015-12-30 02:20:48
391
原创 队列链式存储实现
#ifndef _LINK_QUEUE_LIST_H_#define _LINK_QUEUE_LIST_H_/************************************************************************//* 队列链式存储实现LinkQueueNode *//***
2015-12-30 02:19:03
350
原创 QT实现文本编辑器软件
1、UI设计,存储为MainWindow.ui文件2、编译MainWindow.ui文件,自动生成ui_MainWindow.h文件3、编写界面逻辑,实现类MainWindow#ifndef QTSTUDYAPP_H#define QTSTUDYAPP_H#include #include "ui_MainWindow.h"class MainWindow : public
2015-12-29 02:42:24
1386
原创 QT实现文件查找显示列表功能
1、UI设计,存储结果为FindFileForm.ui2、编译ui文件生成辅助ui头文件ui_FindFileForm.h3、实现对话框界面逻辑,FindForm类#ifndef FIND_FILE_FORM_H#define FIND_FILE_FORM_H#pragma once#include "ui_FindFileForm.h"class FindFile
2015-12-29 02:14:58
6322
原创 栈的链式存储实现
#ifndef _LINK_STACK_LIST_H_#define _LINK_STACK_LIST_H_#pragma once/************************************************************************//* 栈的链式存储实现LinkStackList
2015-12-29 02:06:08
368
原创 栈的顺序存储实现
#ifndef _SEQUENCE_STACK_LIST_H_#define _SEQUENCE_STACK_LIST_H_#pragma once/************************************************************************//* 顺序存储栈实现SequenceStackList
2015-12-29 02:02:30
485
原创 线性表链式存储结构实现 --双向循环链表
#ifndef _DOUBLE_LINKLIST_H_#define _DOUBLE_LINKLIST_H_/************************************************************************//* 线性表链式存储结构实现 --双向循环链表 *//**************
2015-12-29 02:00:58
449
原创 线性表链式存储结构实现 --单向循环链表
#ifndef _CIRCULAR_LINKLIST_H_#define _CIRCULAR_LINKLIST_H_#pragma once/************************************************************************//* 线性表链式存储结构实现 --单向循环链表 *
2015-12-29 01:58:01
493
原创 线性表链式存储结构实现--静态链表
#ifndef _STATICK_LINCKLIST_H_#define _STATICK_LINCKLIST_H_#pragma once/************************************************************************//* 线性表链式存储结构实现 --静态链表 *//**
2015-12-29 01:45:49
374
原创 线性表链式存储结构实现 --单链表
#ifndef _LINK_LIST_H_#define _LINK_LIST_H_/************************************************************************//* 线性表链式存储结构实现 --单链表 *//************************
2015-12-29 01:43:05
417
转载 C&C++标准库
1.什么是C&C++的标准库?C语言被发明出来时并没有什么库函数,随着C语言的流行,越来越多的厂商或者机构组织开始提供C的编译器,并且同时把经常用到的函数封装成“库”的形式发布;不同的组织发布的库函数的接口和数量各不相同。后来,标准化组织ANSI制定了C语言的标准,同时也制定了一定数量的库(或库函数),就就成为标准库函数。(后来这个ANSI C标准上升为ISO标准,但是内容并没有变化!谁让美国
2015-12-23 17:32:32
432
原创 线性表之顺序存储实现
#ifndef _SQ_LIST_H_#define _SQ_LIST_H_#pragma once/************************************************************************//* 线性表List *//*********************
2015-12-23 02:27:29
340
原创 VS2008环境QT开发(一)环境搭建
1、安装vs2008 c++版本;2、安装QT安装包,qt-win-opensource-4.7.1-vs2008.exe;3、安装vs下QT开发插件,AddIn.安装此插件之后会在新建工程和文件的时候,提供QT的模板,同时方便通过菜单直接切换到UI设计器;类内部添加 Q_OBJECT宏之后,会自动修改当前类的头文件的配置属性;4、配置环境变量创建环境变量QTDIR,并
2015-12-17 01:35:18
523
原创 MVC设计模式--HeadFirst学习
1、模型视图设计器模式是可重用性很高的基于多个模式创建出来的复合模式,其中模型负责数据状态和逻辑、视图负责显示和交互、控制器负责传达视图要求模型需要执行的命令,而模型和视图之间是观察者模式关系、视图和控制器之间是策略模式关系,视图本身通过组合模式实现。2、例子代码using System;using System.Collections.Generic;using System.L
2015-12-05 03:35:13
623
原创 StatePattern-HeadFirst学习
1、状态模式定义允许对象在内部状态改变时,改变对象本身的行为,对象看起来好像修改了他的类。2、要点该模式将状态封装到独立的类里面,并将动作委托给代表当前状态的对象,行为就会随着内部状态的改变而改变。从客户使用的角度来看,如果说我使用的对象完全改变了他的行为,那么客户会觉得这个对象时从另一个类实例化而来的。然而实际上,我们是通过组合通过简单引用不同的状态对象来造成类被改变的假象。
2015-12-03 23:55:23
333
原创 IteratorPattern--HeadFirst学习
1、迭代器设计模式定义提供一种方法顺序访问聚合对象中的各个元素,而又不暴漏其内部表示。2、要点迭代器模式提供了一种方法,可以顺序访问一个聚合对象中的元素,而不不用知道内部是如何表示的。迭代器模式把在元素之间游走的责任交给了迭代器,而不是聚合对象,使得聚合对象的接口实现更加简洁,可以让聚合更专注在其他事情上面。3、例子代码using System;using System.
2015-12-03 21:25:58
275
原创 CompositePattern--HeadFirst学习
1、组合模式定义组合模式允许将对象组合成树状结构来表现整体-部分层次结构。组合能让客户以一致的方式处理个别对象和对象组合。2、要点组合包含组件,而组件有两种,一种是叶节点元素与组合。组合持有一群孩子,这些孩子可以是别的组合或叶节点元素。当使用这种方式组织数据的时候,最终会得到树形结构,根部是一个组合,而组合的分支逐渐往下延伸,直至叶节点。使用组合,我们能把相同的操作用在组合和个
2015-12-03 21:14:30
270
原创 FacadePattern-HeadFirst学习
1、外观模式定义提供了一个统一的接口,用来访问子系统中的一群接口,让子系统更容易使用。2、要点当需要用到一个现有的类而其接口不符合你的需要时,就使用适配器模式当需要简化并统一一个很大的接口或一群复杂的接口时,使用外观模式适配器改变接口以符合客户的期望外观将客户从一个复杂的子系统中解耦实现一个适配器可能需要一番功夫,也可能不费工夫,视目标接口的大小和复杂程度实现一个外观,
2015-12-01 23:37:15
322
原创 Adapter设计模式-HeadFirst学习
1、适配器模式定义将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间2、要点 与外观模式一起总结3、例子代码using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace AdapterPattern{
2015-12-01 23:30:13
310
原创 Command设计模式-HeadFirst学习
1、 命令模式定义命令模式主要解决将方法调用(Method invocation)封装起来。通过封装方法调用,我们可以把运算块包装成型。调用此运算的对象不需要关心事情是如何进行的,只需要知道如何使用包装成型的方法来完成指定任务即可。通过封装方法调用,可以做很多事情,如记录日志、重复使用这些封装来实现撤销(undo)。2、要点将发出请求的对象和执行请求的对象解耦在被解耦的两者之间是通
2015-12-01 23:21:30
314
原创 单例模式-HeadFirst学习
一、需求背景有些类在实际应用场景中只需要一个具体对象来管理,如线程池(threadpool)、缓存(cache)、对话框、处理偏好设置和注册表的对象、日志对象、充当打印机、显卡等设备的驱动程序的对象。事实上这类对象只能有一个实例,如果制造出多个实例,就会导致很多问题产生,如程序的行为异常、资源使用过量,或者不一致的结果。单例模式的作用相当于全局变量,但全局变量必须在程序一开始就创建好对象,
2015-11-24 16:01:38
376
原创 抽象工厂模式--HeadFirst学习
一、模式定义:抽象工厂模式提供了一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。抽象工厂允许用户使用抽象的接口创建一组相关的产品,而不需要知道实际产出的具体产品是什么。这样一来,客户就从具体的产品中解耦。二、与工厂方法之间关系:1、抽象工厂在创建距离工厂的时候是通过工厂方法来实现的;2、抽象工厂需要定义若干个方法用于创建一个产品家族,而工厂方法只需要一个方法创建一类
2015-11-23 20:42:23
388
原创 装饰者模式——HeaderFirst学习笔记
1 装饰者模式定义动态的将责任附加到对象上,想要扩展功能,装饰者提供有别于继承的另外一种选择。2 装饰者模式精髓2.1对扩展开放,对修改关闭2.2继承属于扩展形式之一,但不见得是达到弹性设计的最佳方案2.3设计应该允许行为被扩展而无需修改现有代码2.4装饰者意味着一群装饰者类,这些类用来包装具体的组件2.5装饰者和被装饰者具备同样的类型2.6装饰者对组件的客户是透明
2015-11-18 22:21:45
414
原创 观察者模式-HeadFirst学习
1、观察者模式定义:定义对象之间的一对多依赖,如此,一个对象的状态改变时,他的所有依赖者都会收到通知,并自动更新;2、关键点该模式定义了两个对象之间的松耦合关系,观察者不知被观察者的细节,被观察者不必知道观察者的具体表现,只要双方交互的接口未变,在扩展性的观察者时,被观察者不必修改代码;3、例子源码:using System;using System.Collections.
2015-11-17 22:18:22
369
原创 策略模式——HeadFirst学习笔记
1、策略模式:定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户;2、设计工具箱中解锁的工具:面向对象设计基础:抽象、封装、多态、继承面向对象原则:封装变化、都用组合少用继承、针对接口编程,不针对实现编程;3、样例实现:using System;using System.Collections.Generic;using Syst
2015-11-16 23:17:43
430
原创 求最大子序列问题
1、基本求法,列举出所有可能组合,找到最大组合static int MaxSubSum(const int[] A,int N){ int MaxSum = 0 ; for (int i = 0 ; i < N ; i ++) { for (int j = 0 ; j< N ; j++) { int tempSum = 0 ; for (int k = i; k <
2015-11-12 22:51:16
492
原创 递归简论学习
1 递归必须满足的四条基本法则1、基准情形。必须总有某些基准情形,无需递归就可以求出解;2、不断推进。对于需要通过递归来求解的问题,递归调用的过程必须是朝着基础情形在不断演进;3、设计法则。假设所有的递归调用都能运行。只有满足这样一条假设前提条件,我们才会不必关系计算机的簿记过程细节,也不必关心实际的调用过程细节,但也应记住簿记的系统开销代价,不应该将其作为简单for循环的替代物
2015-11-12 00:18:45
410
原创 c++ Mutable
背景: 在c++中对于不修改类中数据成员的值的成员函数,一般都会声明为const类型,而有些类中的属性与类本身的状态关系不大,我们有可能想要通过成员函数来改变这些属性的值,但是因为函数声明为const,是拒绝去修改属性值的,此时我们难道要将这个函数的const掉或者新增一个非const函数来专门去解决这个问题么,代价都是很大的,那么c++对于这种情况是怎么解决的呢,下面我们请Mutable
2015-06-19 12:08:25
578
原创 InterpreterPattern
//为了了解解析器这一设计模式,本文根据sunxing007的博客,实现了下c#版本的解释器,原文地址为:http://blog.youkuaiyun.com/sunxing007/article/details/5477634可以实现简单的加减法数值顺序计算using System;using System.Collections.Generic;using System.Linq;us
2015-05-31 16:37:50
365
原创 地图基础知识
1、地图的特点和分类地图是通过其特有的【数学基础】、【地图语言】、【抽象概括法则】表现地球或其他星球自然表面的时空现象,反映人类的政治、经济、文化和历史等人文现象的状态、联系和发展变化。主要具有以下特点:可量测性:由于采用了地图投影、比例尺、地图定向等数学法则,可以再地图上量测点的坐标和高程、线的长度和方位、区域的面积、地面坡度、物体体积等直观性:地图符号系统中的符号、色彩、注记等可以
2015-05-31 14:11:14
1706
原创 C++基本类型学习
通过学习C++ Primer,明确C++语言支持四种基本数据类型:基本内置类型、复合类型、处理类型、自定义数据类型。1、基本内置类型 基本内置类型包含了算数类型和空类型,空类型一般仅仅用在返回值为空的函数声明与定义的场景,算数类型用于定义存储数据时在内存中所占的比特位位数,且在不同机器上有所差别。整型主要包含布尔型、字符型、普通整型,其中bool型仅仅需要一个二进制位即可
2015-03-24 23:58:46
501
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人