摘要:问题:set是一个自动有序的集合容器,这是set的一个最实惠的性质,从小到大,只要你插入进去,就有序了。但是,如果你不想要这个顺序呢,是不是可以人为控制set容器的元素顺序呢?答案是,可以的,因为stl也是程序员设计的。首先看stl的模板构造函数explicit set ( const Compare& comp = Compare(), const Allocator& = Allocator() );templateset ( InputIterator first, InputIterator last, const Compare& comp = Compare
阅读全文
10 2012 档案
摘要:问题:stl中的vector容器常常造成删除假象,这对于c++程序员来说是极其讨厌的,《effective stl》大师已经将之列为第17条,使用交换技巧来修整过剩容量。内存空洞这个名词是网上的学者给出的,我觉得用来描述这个基本现象特别容易提醒自己vector删除的这个陷阱。首先给出一段代码:35 void testvector()36 {38 vector v;39 v.push_back(1);40 v.push_back(2);41 cout << "v size = " << v.size() << " v capaci
阅读全文
摘要:对于求n 个实数构成的数组中最小元素的位置问题,写出你设计的具有减治思想算法的伪代码,确定其时间效率,并与该问题的蛮力算法相比较。#include#include#define len 10using namespace std;void creatArr(int arr[len])8{srand(time(NULL));for (int i=0;i{arr[i] = rand()%len;}}void printArr(int arr[len]){cout<<"数组为:"<<endl;for (int i=0;i{cout<<arr[i
阅读全文
摘要:游戏:有3个门,门后分别是car,sheep,只有一个门是car。一个猜想着随即选取一个门,如果这个门后面是车就可以获得车,否则获得羊。很显然这样猜对车的概率是1/3。但是现在的条件是有个主持人,她知道每个门后面是什么。当你选择一个门之后,她打开一个有羊的门。问你是否改变你原来的选择?坚持原来的选择的话获得车的概率是多少,改变原来的选择的话概率又为多少。请给出解释。答案是1/3变成2/3。概率能解释;编程更直观。
阅读全文
摘要:待证问题:二进制循环左移算法求约瑟夫问题的证明:分析:f{1,2,..k}表示k 个人1..k,从begin 序号开始向后杀,最后留下的那个人的号码f{1,2,..k};eg:f{1,2,3}表示{1,2,3}这3 个人,从1 开始,经过两轮轮杀掉其他人,剩下3.即f{1,2,3}=3;易得: {1,2,3,4}4 个人从1 开始第一被杀的人肯定是2,所以剩下{1,3,4}这个状态时刻,第一个有权利杀人的人(即begin)是3,所以对{3,4,1}进行f{1,3,4}。显然,这是一个可以递归的过程。把4->1 看成是连续的数(1=5%4)即{3,4,5%4}因此:3 个人, f{1,2,
阅读全文
摘要:计算机经典书籍汇总,下载地址:http://bbs.theithome.com/read-htm-tid-308.html1.计算机科学概论计算机科学概论2.计算机数学基础高等数学线性代数概率论与数理统计离散数学及其应用离散数学教程(北大版)什么是数学具体数学:计算机科学基础3.C语言谭浩强C程序设计C primer plusThe C programming languageC和指针C专家教程C陷阱与缺陷c语言解惑C标准库你必须知道的495个C语言问题4.算法与数据结构数据结构(清华版)数据结构与算法分析—C语言描述编程珠玑编程珠玑II算法导论计算机程序设计艺术卷1计算机程序设计艺术卷2计算
阅读全文
摘要:STL用法很通俗易懂,但是,想深入了解STL源码的实现,以为以后设计自己的模板类。首先应了解和掌握模板类的设计方法,然后推荐《C++模板元编程》、《STL源码剖析》两本书,博大精深的STL!这些书电子版在jask中都能下到。1. 类模板和STLSTL是C++的标准模板库,其源码编程完全依赖模板实现。类模板是能根据不同参数建立不同类型成员的类。2. 类模板的定义template<模板类参数>class 类名{成员名;};根据需要参数可以多个。3. STL是模板类应用的一个最好的开源实例在掌握STL的基本用法的基础上去理解模板类的设计会更加深刻,在掌握模板类设计的基础上,可以设计出自己
阅读全文
摘要:正则表达式的应用正则表达式是用来处理字串的一种工具,和bash一样重要,是学习linux的人通二脉。举个例子:grep命令去你的~/.bashrc 文件中加入alias grep='grep --color=auto',这样你grep是高亮的。例子1 查网卡信息dmesg | grep -n -A3 -B2 'eth'例子2 查文件中的信息grep -n 'the' test.txt //从刚刚的文件当中取得 the 这个特定字串grep -vn 'the' test.txt //当该行没有 'the' 这个字串时
阅读全文
摘要:linux shell是强大的脚本程序,语法简单,下面是一个可执行的sh脚本,涵盖了常用的shell语法和用法,理解它,就等于入门了。#!/bin/bash# title :# date : ?2012/10/18# author: Made by hfxecho '[test @test test]# sh [-nvx] scripts-n :不要执行 scripts ,查询 scripts 内的语法,若有错误则予以列出!-v :在执行 scripts 之前,先将 scripts 的内容显示在屏幕上;-x :将有使用到的 scripts 内容显示在屏幕上,与 -v 稍微不同 '
阅读全文
摘要:【定时启动你的linux程序】*********************************************************最小模型例子:你的程序:vi hello.sh 1 #! /bin/sh 2 3 echo "hello world" 4你的任务:crontab -e 00 15 18 10 * mail hfx < /home/hfx/shell/hello.shok!你的sh脚本将在今年的10月18日15:30分执行查看你的任务:crontab -l删除你的任务:crontab -r // 注意所有都删除了还是进入你的crontab -
阅读全文
摘要:服务端程序,linux下编译通过#include#include#include#include#define MAXLINE 100#define SA struct sockaddr#define SOCKET intusing namespace std;int main(){cout << "this is a server!" << endl;struct sockaddr_in server,client;SOCKET listen_sock = socket(AF_INET, SOCK_STREAM, 0); // 创建监听套接字if(
阅读全文
摘要:CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CmakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统
阅读全文
摘要:syntax onset nu!set ai!set showmatch "设置括号匹配模式let mapleader = ",""set cursorcolumn "列显示set cmdheight=1set ts=4 "Tab为4个空格set sw=4set shiftwidth=4set backspace=2set lbr "单词间不能断行set shortmess=atI "启动不显示xx儿童的提示set showcmd "开启命令提示set smarttabset ignorecaseset
阅读全文
摘要:[同步和异步]通俗的讲:同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕概念从现实中来:同步:打电话,你拨通电话后必须等在那里,直到对方有人接了,你们才能通信或者说你才能继续打下一个电话。异步:发短信,你可以发短信,只要你发出去,你就可以继续发给下一个人,而不需要等到第一个人回你,你才可以继续。同步服务器
阅读全文
摘要:[开发前准备]在进行linux服务器开发之前,必须很清楚地了解所开发的对象需要考虑的相关问题比如:功能架构:提供服务的模块体系结构稳定性:服务器的出core率,内存泄露情况性能:请求与返回的速度与正确性负载能力:能同时访问的最大数量和频度根据不同服务器对象的环境和应用,服务器开发的对应手段相差甚远。比如就客户端连接时间较短却又比较频繁的服务器(例如HTTP服务器)而言,在可选的服务器结构中,预先派生进/线程的结构就要比并发式结构高效总之,在开发服务器之前,必须进行完整的服务器开发需求分析,否则一旦你的服务器开发完成而因为效率或者其他某项事物不能满足你的客户,那么很有可能失败![服务器让我明白了
阅读全文
摘要:[w3cschool tydef]什么是 JSON ?JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)JSON 是轻量级的文本数据交换格式JSON 独立于语言 *JSON 具有自我描述性,更易理解* JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。JSON 语法是 JavaScript 语法的子集。为什么要用json在异步应用程序中发送和接收信息时,可以选择以纯文本和 XML 作为数据格式。掌握 Ajax 的这一期讨论另一种有用的数据
阅读全文
摘要:1. 选定文字 / 拷贝粘贴 v为可视模式,可以选定多行。选定多行之后,可以用yy或者dd等等进行拷贝和剪切。 p 是粘贴 y 和d 可以直接拷贝或者剪切选定的内容 yw是拷贝一个单词 如果要复制整行的最简单办法就是V,y,p 就行了 v是可以选定一行任意个字符的,V是行选定的,一次一整行,然后通过向下或向上移动光标而选定多行。 对于v选定的,拷贝后就是这么多,选多少就拷贝多少,而V选定的,粘贴的话会自动换到下一行 命令模式下,也是块选定,不过是列块选定 2. 折叠代码 可以zf进行折叠, 用zo打开折叠,也可...
阅读全文
摘要:Tracy McGradyThere are times in life that a new road presents itself and it appears this time has come for me now. I am so proud of what I have accomplished these past 15 years playing in the NBA. It was a dream entering the league as I just turned 18 years old. I worked hard and poured my heart and
阅读全文
摘要:类图说明:客户类:1.在某个地点打出租车的顾客。2.需要离自己最近的一辆空载的出租车的信息。3.并决定是否等待该出租车(握手基站)。4.客户信用度值的设定,是为了约束客户违约的情况。如果统计下来该客户信 用度值偏低,则出租车GPRS定位系统有权注销该用户(即该用户以后无 权使用该定位服务)。出租车类:1.为加盟该GPRS定位系统的出租车。2.空载时等待GPRS工作基站给予的顾客信息。3.决定是否去接顾客(握手基站)。4.出租车信用度值的设定,是为了约束出租车违约情况。如果统计下来该出租 车信用度值偏低,则出租车GPRS定位系统有权注销该出租车(即该出租 车以后无权使用该定位服务)。...
阅读全文
摘要:1 绪论智能电网是一个完整的信息架构和基础设施体系,实现对电力客户、电力资产、电力运营的持续监视,利用“随需应变”的信息提高电网公司的管理水平、工作效率、电网可靠性和服务水平。智能电网的产业主要由高级计量体系(AMI)、高级配电运行(ADO)、高级输电运行(ATO)和高级资产管理(AAM)四大模块构成。AMI是一种用于先进电表,能够提供实时的双向通信设施,是智能电网的基础信息平台[1]。IBM 利用智能电表计量管理系统,帮助电力行业向服务模式转型,使个人和企业可以选择使用能源的方式和时间,从而在降低电力高峰负荷的同时,大幅提升客户体验。在实践中,IBM 已经帮助终端用户节省了 10%的电费支出
阅读全文
摘要:linux文件操作函数原文地址:linux下open()write()read()close函数作者:月下小溪1. open()函数功能描述:用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数。所需头文件:#include <sys/types.h>,#include <sys/stat.h>,#include <fcntl.h>函数原型:int open(const char *pathname,int flags,int perms)参数:pathname:被打开的文件名(可包括路径名如"dev/ttyS0"
阅读全文
摘要:linux-file-open()原文地址:Linuxopen函数简介作者:老徐open 函数用于打开和创建文件。以下是 open 函数的简单描述 #include <fcntl.h> int open(const char *pathname, int oflag, ... ); 返回值:成功则返回文件描述符,否则返回 -1对于 open 函数来说,第三个参数(...)仅当创建新文件时才使用,用于指定文件的访问权限位(access permission bits)。pathname 是待打开/创建文件的路径名(如 C:/cpp/a.cpp);oflag 用于指定文件的打开/创建模
阅读全文
摘要:C++ : http://www.cplusplus.com/mongodb:http://api.mongodb.org/cplusplus/1.8.2/index.htmlw3c、web:http://www.w3school.com.cn/index.htmlhtml:http://www.admin5.com/html/linux:http://man.chinaunix.net/develop/c&c++/linux_c/default.htmuml、软件工程:http://www.uml.org.cn/各种资料下载:http://ishare.iask.sina.com.c
阅读全文
摘要:2012年2月4日,我和惟惟、文豪、成龙小别,坐上回京的列车,对了,还有最可爱的大牛逼同学,本来不想提他的,但是我怕他打我的本儿脑壳儿。光阴如水,列车似箭,十里长亭也许分秒即至。天朗气清,寒气逼人,窗外竟是北方的旷野,空荡荡的什么也没有。列车也是空无几人,我懒洋洋的一人独住一排位置,拿出笔记本,无聊的看着屏幕中的自己,发现自己真的已经变了。人生不是如此么,每天都这么飞快的过着,没有得到没有失去的过着,抑或说我得到的和失去的抵销的一无所有,唯一改变的是自己脸上的鱼尾纹和白头发,唯一留下的是一些还记得住的人和事。这一年,我27岁。 27岁的我,开始怀疑自己的能力,觉得自己做什么事情都是力所不能及,
阅读全文
摘要:Linuxshell脚本全面学习1.Linux脚本编写基础1.1语法基本介绍1.1.1开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。当编辑好脚本时,如果要执行该脚本,还必须使其可执行,也就是要改变该脚本文件的使用权限,用到命令,chmod+xfilename这样filename文件才能正常被运行。1.1.2注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。如果您使用了注释,那么即使相当长的时间内没有使用该脚本..
阅读全文