03 2016 档案

摘要:该问题的情景如下:问题描述Ajax的请求代码放在一台机器上,而服务器的java 路由程序放在另一个机子上,所以Ajax的url填写的是带“http://” 的地址,而不是相对地址问题解决:这时候,就出现了浏览器接收不到Json数据包的情况,之后将前端代码和服务器代码部署在同一个服务器,就没问题了问题原理:问题 在某域名下使用Ajax向另一个域名下的页面请求数据,会遇到跨域问题。另一个域名必... 阅读全文
posted @ 2016-03-24 15:21 copperface 阅读(1901) 评论(0) 推荐(0)
摘要:圆括号将动态分配的int型数组 初始化为 0; 阅读全文
posted @ 2016-03-19 11:16 copperface 阅读(255) 评论(0) 推荐(0)
摘要:1234567891011121314151617181920212223242526class ConstRef {public: ConstRef( int ii ); private: int i; const int ci; int & ri;}; ConstRef::ConstRef( int ii ) { i = ii; /* o... 阅读全文
posted @ 2016-03-19 11:13 copperface 阅读(700) 评论(0) 推荐(0)
摘要:1. 安装Ubuntu。2. 安装gcc 方法一: sudo apt-get install build-essential 安装完了可以执行 gcc--version的命令来查看版本,输出如下: gcc(GCC)4.2.3(Ubuntu4.2.3-2ubuntu7) ... 阅读全文
posted @ 2016-03-19 11:06 copperface 阅读(805) 评论(0) 推荐(0)
摘要:转自 http://blog.csdn.net/haoel/article/details/1948051/ C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术... 阅读全文
posted @ 2016-03-18 23:05 copperface 阅读(280) 评论(0) 推荐(0)
摘要:size_t是unsigned类型,用于指明数组长度或下标,它必须是一个正数,std::size_tptrdiff_t是signed类型,用于存放同一数组中两个指针之间的差距,它可以负数,std::ptrdiff_t.size_type是unsigned类型,表示容器中元素长度或者下标,vector::size_type i = 0;difference_type是signed类型,表示迭代器差距... 阅读全文
posted @ 2016-03-18 22:55 copperface 阅读(330) 评论(0) 推荐(0)
摘要:string str="12345"; int b=atoi(str.c_str());可以配合atof,转为doublechar buf[10];sprintf(buf, "%d", 100);string b = buf; 阅读全文
posted @ 2016-03-18 22:53 copperface 阅读(179) 评论(0) 推荐(0)
摘要:来源: 简要概述原理:每个文件都由各种不同代码组成,比如01代码。这类文件只有数字0与1组合。压缩原理就是 【通过寻找其中的规律,简化数字的排列】。比如00000110001111111111可以简化成5个0,2个1,3个0,10个1的排列100000000000可以简化成数学的10^10至于@yskin 说 没见过2G压缩到十几兆的。实际上在极限压缩方式下其实28.1G压到25.8M都可以。附下... 阅读全文
posted @ 2016-03-18 22:51 copperface 阅读(2994) 评论(0) 推荐(0)
摘要:来源: 内存的静态分配和动态分配的区别主要是两个: 一是时间不同。静态分配发生在程序编译和连接的时候。动态分配则发生在程序调入和执行的时候。 二是空间不同。堆都是动态分配的,没有静态分配的堆。栈有2种分配方式:静态分配和动态分配。静态分配是编译器完成的,比如局部变量的分配。动态分配由函数malloc进行分配。不过栈的动态分配和堆不同,他的动态分配是由编译器进行释放,无需我们手工... 阅读全文
posted @ 2016-03-18 22:48 copperface 阅读(14183) 评论(0) 推荐(2)
摘要:语言部分:虚函数,多态。这个概念几乎是必问。STL的使用和背后数据结构,vector string map set 和hash_map,hash_set实现一个栈类,类似STL中的栈。这个题目初看非常简单,当时我还有点不屑,怎么出这么简单的题。但写过c++和没有写过c++的人写出的代码是一眼就能看出差别的。譬如三大函数有没有写,引用的使用,都非常的关键。如果这方面没有经验,建议阅读下http://... 阅读全文
posted @ 2016-03-18 22:32 copperface 阅读(292) 评论(0) 推荐(0)
摘要:http://blog.163.com/zhqh43@126/blog/static/404330272007102012451957/ 我相信大家都有过这样的经历,在面试过程中,考官通常会给你一道题目,然后问你某个变量存储在什么地方,在内存中是如何存储的等等一系列问题。不仅仅是在面试中,学校里面的考试也会碰到同样的问题。 如果你还不知道答案,请接着往下看。接下来,我们将在Li... 阅读全文
posted @ 2016-03-18 22:17 copperface 阅读(693) 评论(0) 推荐(0)
摘要:A*搜寻算法[编辑]维基百科,自由的百科全书本条目需要补充更多来源。(2015年6月30日) 请协助添加多方面可靠来源以改善这篇条目,无法查证的内容可能会被提出异议而移除。A*搜索算法,俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或在线游戏的BOT的移动计算上。该算法综合了BFS(Breadth First Search)和Dijk... 阅读全文
posted @ 2016-03-18 21:04 copperface 阅读(2769) 评论(0) 推荐(0)
摘要:前言:针对单源最短路算法,目前最经典的思路即标号算法,以Dijkstra算法和Bellman-Ford算法为根本演进了各种优化技术和算法。针对复杂网络,传统的优化思路是在数据结构和双向搜索上做文章,或者针对不必要的循环进行排除。近年来,最短路算法大量应用于需要高及时性的领域,比如GIS领域,也大量应用于网络规模巨大的社会网络分析领域,这使得传统思路并不能很好地解决,于是把最短路算法思路本身抽象成两... 阅读全文
posted @ 2016-03-18 20:54 copperface 阅读(596) 评论(0) 推荐(0)
摘要:在函数声明时加virtual virtual void display(); 实现用基类指针访问派生类函数 要把基类的析构函数声明为 虚函数 这是因为当通过 动态方式 建立 对象的时候,当使用多态性,利用基类指针指向 派生类,那么当对指向派生类的基类指针 使用delete,如果析构函数不是虚基类,则仅仅调用基类的 析构函数,而不是调用派生类的析构函数。123456789... 阅读全文
posted @ 2016-03-18 17:20 copperface 阅读(363) 评论(0) 推荐(0)
摘要:http://blog.sina.com.cn/s/blog_476cd878010001y3.html 这是一篇介绍C语言中的函数调用是如何用实现的文章。写给那些对C语言各种行为的底层实现感兴趣人的入门级文章。如果你是C语言或者汇编、底层技术的老鸟或是对这个问题不感兴趣,那么这篇文章只会耽误您的时间,您大可不必阅读他。当然如果前辈们愿意为我指出不足,我将十分感谢您的指导,并对耽误您宝贵的时... 阅读全文
posted @ 2016-03-18 17:18 copperface 阅读(225) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/jjiss318/article/details/7185802 在Linux内核程序boot/head.s执行完基本初始化操作之后,就会跳转去执行init/main.c程序。那么head.s程序是如何把执行控制转交给init/main.c程序的呢?即汇编程序是如何调用执行C语言程序的?这里我们首先描述一下C函数的调用机制、控制权传递方式,然... 阅读全文
posted @ 2016-03-18 17:17 copperface 阅读(1923) 评论(1) 推荐(1)
摘要:封装 封装是面向对象的特征之一,是对象和类概念的主要特性。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。一旦定义了一个对象的特性,则有必要决定这些特性的可见性,即哪些特性对外部世界是可见的,哪些特性用于表示内部状态。在这个阶段定义对象的接口。通常,应禁止直... 阅读全文
posted @ 2016-03-18 17:15 copperface 阅读(187) 评论(0) 推荐(0)
摘要:12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210... 阅读全文
posted @ 2016-03-18 15:27 copperface 阅读(1348) 评论(0) 推荐(0)
摘要:矩阵求逆c++实现http://www.2cto.com/kf/201405/297388.html2014-05-02 我来说两句 来源:矩阵求逆c++实现 收藏 我要投稿高斯消元法可以用来找出一个可逆矩阵的逆矩阵。设A 为一个N * N的矩阵,其逆矩阵可被两个分块矩阵表示出来。将一个N * N单位矩阵 放在A 的右手边,形成一个N * 2N的分块矩阵B = [A,I] 。... 阅读全文
posted @ 2016-03-18 15:22 copperface 阅读(3980) 评论(0) 推荐(0)
摘要:内容长度超过配置的值(IIS 7 默认文件上传大小时30M)web.config中,把以下内容加在 节点上述中maxAllowedContentLengt是以字节为单位。web.config中添加如下内容: maxRequestLength (指示 ASP.NET 支持的最大文件上载大小)默认值为 4096 (4 MB),最大值只能是2097151K。 阅读全文
posted @ 2016-03-18 15:20 copperface 阅读(757) 评论(0) 推荐(0)
摘要:How do I use badgerports?badgerports is an Ubuntu repository. In order to use it, you must add it to your Software Sources.Click on "System", "Administration", "Software Sources".Click on the "Other S... 阅读全文
posted @ 2016-03-18 15:18 copperface 阅读(416) 评论(0) 推荐(0)
摘要:Asp.NET获取文件及其路径 【相对路径】Request.ApplicationPath/srcPath.GetDirectoryName(HttpContext.Current.Request.RawUrl )//src//XiaosheContext.Request.Path/src/Xiaoshe/Xiaoshe_New.aspxContext.Request.CurrentExe... 阅读全文
posted @ 2016-03-18 15:16 copperface 阅读(4404) 评论(0) 推荐(0)
摘要:缓存 如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差。而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能。这样无论有多少人访问都只访问一次数据库,数据库压力不变。缓存是一种用空间换取时间的技术,存在于计算机中很多地方,用来将一些慢速设备中的常用数据保存在快速设备中,取数据的时候直接从快速设备中取。比如CPU二级... 阅读全文
posted @ 2016-03-18 15:15 copperface 阅读(221) 评论(0) 推荐(0)
摘要:配置参考文档,主要将ckeditor中的(adapters、images、lang、plugins、skins、themes、ckeditor.js、config.js、contents.css)解压到js目录,然后“显示所有文件”,将ckeditor的目录“包含在项目中”,在发帖页面引用ckeditor.js,然后设置多行文本框的class="ckeditor"(CSS强大)(服务端控件CssC... 阅读全文
posted @ 2016-03-18 15:14 copperface 阅读(453) 评论(0) 推荐(0)
摘要:WebForm分为两个文件aspx和aspx.cs,aspx是页面模板,是页面描述文件,就是html的内容,和aspx结合的更好,不用像一开始那样程序员自己去填充模板,控件都是定义在aspx中,内联的JavaScript、CSS也是写在aspx中的,,服务端的C#代码是定义在aspx.cs中。aspx控件页面长相,cs控制程序逻辑,这种“前aspx后cs”的方式就被称为CodeBehind。asp... 阅读全文
posted @ 2016-03-18 15:11 copperface 阅读(2702) 评论(1) 推荐(0)
摘要:一个浏览者发出的请求都是由实现了IHttpHandler接口的对象进行响应,由于下次访问不一定还是上次那个对象进行响应,上次响应完毕对象可能已经被销毁了,写的类变量值早就不存在了,因此不将状态信息保存到类变量中。 HttpHandler实现文件下载 如果HttpHandler输出的是html、txt、jpeg等类型的信息,那么浏览器会直接显示,如果希望弹出保存对话框,则需... 阅读全文
posted @ 2016-03-18 15:10 copperface 阅读(212) 评论(0) 推荐(0)
摘要:Server对象(是属性) Server是context的一个属性,是HttpServerUtility类的一个对象Server.HtmlDecode()、Server.HtmlEncode() Server.UrlEncode()、Server.UrlDecode()是对HttpUtility类中相应方法的一个代理调用。个人推荐总是使用HttpUtility,因为有的地方很难拿到Serv... 阅读全文
posted @ 2016-03-18 15:08 copperface 阅读(889) 评论(0) 推荐(0)
摘要:响应的缓冲输出:为了提高服务器的性能,ASP.Net向浏览器Write的时候默认并不会每Write一次都会立即输出到浏览器,而是会缓存数据,到合适的时机或者响应结束才会将缓冲区中的数据一起发送到浏览器。Response对象的主要成员:Response.Buffer、Response.BufferOutput:经过Reflector反编译,发现两个属性是一样的,Buffer内部就是调用的Buffer... 阅读全文
posted @ 2016-03-18 15:07 copperface 阅读(202) 评论(0) 推荐(0)
摘要:路径 “/表示网站根目录(域名)、../表示上级目录、./表示当前目录”~是ASP.Net定义的特殊符号,是ASP.Net内部进行定义推荐的用法,推荐资源定位都使用~从应用根目录开始定义。应用根目录和网站根目录的区别在于:如果将一个应用部署到http://www.rupeng.com/search这个目录下,应用的根目录是“http://www.rupeng.com/search”,网站的... 阅读全文
posted @ 2016-03-18 15:05 copperface 阅读(209) 评论(0) 推荐(0)
摘要:Request.AppRelativeCurrentExecutionFilePath,获取当前执行请求相对于应用根目录的虚拟路径,以~开头,比如“~/Handler.ashx”Request.PhysicalApplicationPath,获取当前应用的物理路径,比如D:\我的文档\Visual Studio 2008\WebSites\WebSite4\Request.PhysicalPath... 阅读全文
posted @ 2016-03-18 15:05 copperface 阅读(173) 评论(0) 推荐(0)
摘要:跨站脚本漏洞Cross-site scripting可以对请求的数据做检测,如果请求数据中有等特殊字符转换为HTML显示的字符,也就是不把当成定义脚本的标签,而是当成“<script>”这样可以在页面上直接显示出来的内容。 修改看帖代码,context.Response.Write(line + "");修改为 context.Response.Write(HttpUtility.Ht... 阅读全文
posted @ 2016-03-18 15:04 copperface 阅读(162) 评论(0) 推荐(0)
摘要:Cookie不能存储过多信息。如果想保存大量的数据,以保存一个Guid到Cookie中,然后在服务器中建立一个以Guid为Key,复杂数据为Value全局Dictionary。static段对于不同用户也只有一份,因此用static实现多用户共享数据。一、session是怎么存储,提取的? 1.在服务器端有一个session池,用来存储每个用户提交session中的数据,Session对于每一个客... 阅读全文
posted @ 2016-03-18 15:03 copperface 阅读(196) 评论(0) 推荐(0)
摘要:ASP.Net将所有隐藏内容统一放到了名字为__VIEWSTATE的隐藏字段中,使用序列化算法将所有隐藏内容放到一个字符串中。用于保存上一次操作的信息。ViewState原理 1)隐藏一些字段,用来存放那些没有value属性值的控件 2)因为http是无状态的协议,所以当页面发生改变的时候,会用viewstate保持页面上一次的状态。 3)例如:label控件被浏览器渲染成标记,所以label的值... 阅读全文
posted @ 2016-03-18 15:01 copperface 阅读(184) 评论(0) 推荐(0)
摘要:get和post 可以设定form的method属性指定表单提交方式,get(默认值)是通过URL传递表单值,post传递的表单值是隐藏到http报文中,url中看不到。点击type=submit的按钮会自动提交表单。get和post的区别(常考):get是通过url传递表单值,post通过url看不到表单域的值;get传递的数据量是有限的,如果要传递大数据量不能用get,比如type="... 阅读全文
posted @ 2016-03-18 15:00 copperface 阅读(271) 评论(0) 推荐(0)
摘要:服务器端代码123456789101112131415161718192021222324252627282930string action = context.Request ["action"]; if(action =="getpagecount") { var adapter = new T_CommentsTableAdapter(); ... 阅读全文
posted @ 2016-03-18 14:56 copperface 阅读(256) 评论(0) 推荐(0)
摘要:从到输入用户名,点击提交按钮这个过程就叫做postback(是两个不同的状态) 利用ispostback原理,实现是否第一次进入处理程序(上一个用用户名判断的不好,会导致在用户名空的情况下,点击提交,也会显示直接进入而不是提交进入) 在htm文件中添加一个hidden类型的,隐藏字段input元素,其值永远是true 这样在网页中,html里面是不会显示这个项,但是存在。 ... 阅读全文
posted @ 2016-03-17 23:00 copperface 阅读(425) 评论(0) 推荐(0)
摘要:前台HTML,javascript,后台C#代码能不在后台写,就不在后台写WebSite和WebApplication的区别 1)当改变后台代码时,WebApplication需重启浏览器或者重新生成解决方案,而WebSite则不用; 2)WebSite没有Solution,没有namespace,不利于工程化开发。新建webapplication(新建项目)和website(新建网站)的区别:1... 阅读全文
posted @ 2016-03-17 22:57 copperface 阅读(175) 评论(0) 推荐(0)
摘要:1. Bloom-Filter算法简介 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中。 Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Filter有可能会出现错误判... 阅读全文
posted @ 2016-03-17 22:53 copperface 阅读(16899) 评论(0) 推荐(3)
摘要:快慢指针也是面试中的一个常考知识点,主要是链表的问题中应用较多。 1. 判断链表是否存在环设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)程序如下:01int isExitsLoop(LinkList L) {02Li... 阅读全文
posted @ 2016-03-17 22:53 copperface 阅读(444) 评论(0) 推荐(0)
摘要:字符串匹配的KMP算法 字符串匹配的KMP算法作者: 阮一峰 发布时间: 2013-08-28 17:12 阅读: 43515 次 推荐: 106 原文链接 [收藏] 字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knut... 阅读全文
posted @ 2016-03-17 22:41 copperface 阅读(197) 评论(0) 推荐(0)
摘要:https://zh.wikipedia.org/wiki/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95; 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj,Ai原来在位置前,排序后Ai还是要在Aj位置前。 其次,说一下稳定性的好处。排序算... 阅读全文
posted @ 2016-03-17 22:41 copperface 阅读(274) 评论(0) 推荐(0)
摘要:英文原文:Damn Cool Algorithms: Cardinality Estimation,编译:张洋 (@敲代码的张洋)译注:给定一个数据集,求解数据集的基数(Cardinality,也译作“势”,表示一个数据集中不同数据项的数量)是非常普遍的一个需求。许多业务需求最终可以归结为基数求解,如网站访问分析中的UV(访客数,指一段时间内访问网站的不同用户的数量)。由于数据集基数是不可聚集指标... 阅读全文
posted @ 2016-03-17 22:39 copperface 阅读(1482) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/ns_code/article/details/12977901 二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就... 阅读全文
posted @ 2016-03-16 23:12 copperface 阅读(134) 评论(0) 推荐(0)
摘要:这个算法的根本原理是:一个分数对应一条直线的斜率。用数学语言描述就是:一条直线的斜率是无穷大(垂直于X轴)或者是(Y2-Y1) / (X2-X1),我们要做的就是找到2个整数,在指定的精度范围内接近这个斜率。对于正数来说,我们设置分子为0,分母为1,然后比较这个分数同给定的十进制数。如果我们的分数太小了(比如,我们选择的点在直线的下面),我们就加大分子的值直到这个分数太大(比如,这个点在直... 阅读全文
posted @ 2016-03-16 23:03 copperface 阅读(656) 评论(0) 推荐(0)
摘要:设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。 平均时间复杂度:尽管快速排序的最坏时间为 O(n^2 ), 但就平均性能而言,它是基于关键字比较的内部排序算法中速度最快的,快速排序亦因此而得名。它的平均时间复杂度为 O(n×lgn)。 ... 阅读全文
posted @ 2016-03-16 22:56 copperface 阅读(257) 评论(0) 推荐(0)
摘要:ASP.Net中内置的简化AJAX开发的控件UpdatePanel放入ScriptManager,将要实现AJAX效果的控件放到UpdatePanel中即可。UpdatePanel原理探秘,用HttpWatch看。只把需要无刷新更新的部分放到UpdatePanel中。UpdatePanel用来实现一些对性能要求不高的需求非常方便。Timer实现定时AJAX效果,原理分析。 UpdateProgre... 阅读全文
posted @ 2016-03-16 22:13 copperface 阅读(194) 评论(0) 推荐(0)
摘要:这里是因为序列化类型比较复杂,直接用JavaScriptSerializer将其序列化不成功123456789101112131415161718192021222324252627public class PagedService : IHttpHandler { public void ProcessRequest (HttpContext context) { con... 阅读全文
posted @ 2016-03-16 21:55 copperface 阅读(954) 评论(0) 推荐(0)
摘要:AJAX传递复杂数据如果自己进行格式定义的话会经历组装、解析的过程,因此AJAX中有一个事实上的数据传输标准JSon。Json将复杂对象序列化为一个字符串,在浏览器端再将字符串反序列化为JavaScript可以读取的对象。看一下Json的格式。Json被几乎所有语言支持。在C#中,将一段信息,根据Javascript的格式进行序列化,如下:1234567891011121314151617... 阅读全文
posted @ 2016-03-16 21:53 copperface 阅读(148) 评论(0) 推荐(0)
摘要:服务器端程序1234567891011121314151617181920212223 using System;using System.Web; public class GetPrice : IHttpHandler { public void ProcessRequest (HttpContext context) { context .Response.Con... 阅读全文
posted @ 2016-03-16 21:50 copperface 阅读(184) 评论(0) 推荐(0)
摘要:服务器端12345678910111213141516171819202122232425using System;using System.Web;using System.Text;public class PostComment : IHttpHandler { public void ProcessRequest (HttpContext context) { ... 阅读全文
posted @ 2016-03-16 21:48 copperface 阅读(237) 评论(0) 推荐(0)
摘要:1234567891011121314151617181920212223242526272829303132333435如果改成如下方式xmlHttp . open( "GET" , "GetDate1.ashx?"ts" + new Date (), false ); 那么发出请求以后发现点击按钮,时间不更新并且在Stream中没有请求。这是因为:xmlHttp . open( "GET" ,... 阅读全文
posted @ 2016-03-16 21:46 copperface 阅读(342) 评论(0) 推荐(0)
摘要:功 能: 使用快速排序例程进行排序头文件:stdlib.h用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));参数: 1 待排序数组首地址2 数组中待排序元素数量3 各元素的占用空间大小4 (比较函数)指向函数的指针,用于确定排序的顺序比如:对一个长为1000的数组进行排序时,... 阅读全文
posted @ 2016-03-16 21:42 copperface 阅读(203) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/wuliming_sc/article/details/3717017const、volatile、mutable的用法const修饰普通变量和指针const修饰变量,一般有两种写法:12const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于... 阅读全文
posted @ 2016-03-16 21:32 copperface 阅读(432) 评论(0) 推荐(0)
摘要:自动变量,就是普通的局部变量相对于静态变量而言的非自动变量有两种,一种是全局变量,一种是静态变量 自动的意思就是在一定的作用域内会自动消亡非自动就是不会自己释放内存,每次访问改变值后,值会一直保存在那里 阅读全文
posted @ 2016-03-16 21:29 copperface 阅读(1052) 评论(0) 推荐(1)
摘要:判断是否是数字isdigitisNumber 二者区别http://www.cnblogs.com/xiashengwang/p/3219925.html 需要包含头文件 #include【旧】#include 【新】判断字母isalpha: 判断字符ch是否为英文字母,若为小写字母,返回2,若为大写字母,返回1。若不是字母,返回0。isupper (int c): 当参数c为大写... 阅读全文
posted @ 2016-03-16 21:27 copperface 阅读(802) 评论(0) 推荐(0)
摘要:有关运算符优先级 1. "<<" 和 "+" data8 = data4H << 4 +data4L; 这里本意是让高四位的数据,左移四位,然后和低四位相加,但是因为 “+”的运算符优先级 高于 "<<",所以会导致如下的情况: data8 = data4H << (4 +data4L); int 阅读全文
posted @ 2016-03-16 21:25 copperface 阅读(227) 评论(0) 推荐(0)
摘要:vs2010使用C 1打开Microsoft Visual Studio 2010软件;依次打开“新建”、“项目”。2选择“win32控制台应用程序”,在窗口下面的名称填写好名称。3点击“下一步”继续。4在附加选项中选择“空项目”,然后点击“完成”。5在软件界面左边的"解决方案资源管理器"中的“源文件”上面右击鼠标一次选择“添加”、“新建项”。6在新窗口中选择“C++文件(.cpp)”,... 阅读全文
posted @ 2016-03-16 21:21 copperface 阅读(425) 评论(0) 推荐(0)
摘要:1234567891011121314151617181920#include#includeint main(){ char word[100]; scanf( "%s",word); int len=strlen(word); for(int i=1;i<=len;i++) if(len%i==0) ... 阅读全文
posted @ 2016-03-16 21:18 copperface 阅读(366) 评论(0) 推荐(0)
摘要:数组存储整数,模拟手算进行四则运算 阶乘精确值1234567891011121314151617181920212223242526#include#includeconst int maxn=3000;int f[maxn];int main(){ int i,j,n; scanf( "%d",&n); memset(f,0, sizeof(f));//清... 阅读全文
posted @ 2016-03-16 21:16 copperface 阅读(181) 评论(0) 推荐(0)
摘要:分析:不能用scanf(“%s”),因为碰到空格或者Tab就会停下来。解决输入中有空格方法一:使用fgetc(fin),读取一个打开的文件fin,读取一个字符,然后返回一个int值,当文件结束,返回特殊标记EOF(int型的)。(使用fgetc(fin)可以从打开的文件fin中读取一个字符,一般情况下,应当在检查它不是EOF后再将其转化成为char值。从标准输入读取一个字符可以用getchar()... 阅读全文
posted @ 2016-03-16 21:15 copperface 阅读(168) 评论(0) 推荐(0)
摘要:sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。1. 常见用法。123char buf[512] ;sscanf("123456 ", "%s", buf);//此处buf是数组名,它的意思是将123456以%s的形式存入buf中!printf("%s\n", buf);结果为:1234562. 取指定长度的字符串。如在下例中,取最大长... 阅读全文
posted @ 2016-03-16 21:13 copperface 阅读(229) 评论(0) 推荐(0)
摘要:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#include#include#includeint n;char word[ 1000][10 ],sorted[ 1000][10 ];//字符比较函数int cmp_char(const void * _a... 阅读全文
posted @ 2016-03-16 21:11 copperface 阅读(219) 评论(0) 推荐(0)
摘要:1234567891011121314151617181920212223242526272829303132333435363738394041424344/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * Tr... 阅读全文
posted @ 2016-03-16 21:10 copperface 阅读(147) 评论(0) 推荐(0)
摘要:1234567891011121314151617181920212223242526272829303132333435363738394041424344class Solution {public: string replaceSpace(string str) { stack Mystack; int length=str.length(); int bla... 阅读全文
posted @ 2016-03-16 21:09 copperface 阅读(118) 评论(0) 推荐(0)
摘要:12345678910111213141516171819202122232425class Solution {public: void reOrderArray(vector &array) { vector newArray; queue evenArray; for(int i=0;i<array.size();i++) { ... 阅读全文
posted @ 2016-03-16 21:08 copperface 阅读(159) 评论(0) 推荐(0)
摘要:1234567891011121314151617181920212223242526272829303132333435class Solution {public: double Power(double base, int exponent) { int isOdd; if(0.0==base)return 0; if(exponent>0) ... 阅读全文
posted @ 2016-03-16 21:08 copperface 阅读(147) 评论(0) 推荐(0)
摘要:利用两个间隔为k的指针来实现倒数第k个1234567891011121314151617181920212223242526272829303132/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class S... 阅读全文
posted @ 2016-03-16 21:07 copperface 阅读(135) 评论(0) 推荐(0)
摘要:way1:12345678910111213141516171819202122232425262728293031323334353637383940414243/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*... 阅读全文
posted @ 2016-03-16 21:06 copperface 阅读(181) 评论(0) 推荐(0)
摘要:判断: 如果下一个弹出的数字刚好是栈顶元素,那么直接弹出如果下一个弹出的数字不在栈顶,我们要把压栈序列中,还没有入栈的数字压入辅助栈,知道把下一个需要弹出的数字压入栈顶如果所有的数字都入栈,但是仍然没有找到下一个弹出的数字,那么该序列不可能为弹出序列。123456789101112131415161718192021222324class Solution {public: bool Is... 阅读全文
posted @ 2016-03-16 21:05 copperface 阅读(315) 评论(0) 推荐(0)
摘要:最后一个元素是 根节点。 左子树的元素都小于根节点,右子树都大于根节点然后递归判断123456789101112131415161718192021222324252627282930313233343536373839class Solution {public: bool VerifySquenceOfBST(vector sequence) { int size=seq... 阅读全文
posted @ 2016-03-16 21:04 copperface 阅读(932) 评论(0) 推荐(0)
摘要:剑指offer 二叉搜索树与双向链表 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路,中序遍历压入vector,然后调整12345678910111213141516171819202122232425262728293031323334/*struct TreeNode { int val; struct... 阅读全文
posted @ 2016-03-16 21:02 copperface 阅读(401) 评论(0) 推荐(0)
摘要:时间复杂度O(3N)1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950/*struct RandomListNode { int label; struct RandomListNode *next, *random; RandomListNode... 阅读全文
posted @ 2016-03-16 21:02 copperface 阅读(304) 评论(0) 推荐(0)
摘要:12345678910111213141516171819class Solution {public: int FindGreatestSumOfSubArray (vector array) { if(array .empty ())return 0; int sum =0; int max =-99999999; ... 阅读全文
posted @ 2016-03-16 21:00 copperface 阅读(150) 评论(0) 推荐(0)
摘要:给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数。123456789101112131415161718192021222324252627282930313233343536class Solution {public: int NumberOf1Between1AndN_Solution (int n) { if(n1) ... 阅读全文
posted @ 2016-03-16 20:59 copperface 阅读(180) 评论(0) 推荐(0)
摘要:输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 该算法没有利用数组是有序的这个信息,虽然算法时间也是O(n),但是空间消耗也是O(n)123456789101112131415161718192021222324252627282930313233343536373839404142434445#include #i... 阅读全文
posted @ 2016-03-16 20:56 copperface 阅读(232) 评论(0) 推荐(0)
摘要:剑指offer 判断树是不是对称的 递归是很常见的实现方式,最简便。123456789101112131415161718192021222324252627/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : ... 阅读全文
posted @ 2016-03-16 20:55 copperface 阅读(147) 评论(0) 推荐(0)
摘要:大多数人注意到元素是行列有序的,会马上想到对每行(或列)进行二分查找,每行(或列)需要logN时间,N行(或列)共需要NlogN时间,很容易写出如下代码1234567891011121314151617181920//注意到元素是行列有序的,会马上想到对每行(或列)进行二分查找,每行(或列)需要logN时间,N行(或列)共需要NlogN时间bool Find (vector > array, i... 阅读全文
posted @ 2016-03-16 20:52 copperface 阅读(182) 评论(0) 推荐(0)
摘要:因为有序所以用二分法,分别找到第一个k和最后一个k的下标。时间O(logN)class Solution {public: int GetNumberOfK(vector data ,int k) { int num=0; int size=data.size(); if(size>0){ int num1=getfk(data... 阅读全文
posted @ 2016-03-16 20:31 copperface 阅读(153) 评论(0) 推荐(0)
摘要:一个整型数组里除了两个数字之外,其他的数字都出现了两次(想到异或性质:任意数字和自己异或都是0,这样每个数字从头到尾异或一遍,出现两次的数字都被消掉了)。请写程序找出这两个只出现一次的数字。要求时间复杂度O(n),空间复杂度O(1)。异或运算符:^分析:利用异或的性质;异或每个数字,最后的结果是两个不同数字的异或结果。想办法把两个不同的数字分到两个数组中,分别异或;分组的方法:把所有数字在二进制下... 阅读全文
posted @ 2016-03-16 20:30 copperface 阅读(227) 评论(0) 推荐(0)
摘要:Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.For example, Given [0,1,0,2,1,0,1,3,2,1,2,1], retu... 阅读全文
posted @ 2016-03-16 20:24 copperface 阅读(150) 评论(0) 推荐(0)
摘要:第一种思路: 用栈第二种思路: 先遍历两个链表,得到各自长度,然后将长的那个链表先往后查找 两长度差的 步数。接着同时向后查找,直到找到相同的节点。class Solution {public: ListNode* FindFirstCommonNode( ListNode *pHead1, ListNode *pHead2) { int size1=0,size2... 阅读全文
posted @ 2016-03-16 20:24 copperface 阅读(163) 评论(0) 推荐(0)
摘要:(1)一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。//递归方式 public static int f(int n) { //参数合法性验证 if (n 2时候循环求值 int res = 0; int a = 1; int b = 1; for (int ... 阅读全文
posted @ 2016-03-16 20:23 copperface 阅读(249) 评论(0) 推荐(0)
摘要:算法-求二进制数中1的个数问题描述任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4这也是一道比较经典的题目了,相信不少人面试的时候可能遇到过这道题吧,下面介绍了几种方法来实现这道题,相信很多人可能见过下面的算法,但我相信很少有人见到本文中所有的算法。如果您上头上有更好的算法,或者本文没有提到的算法,请不要吝惜您的代... 阅读全文
posted @ 2016-03-16 20:22 copperface 阅读(236) 评论(0) 推荐(0)
摘要:class Solution {public: int minNumberInRotateArray(vector rotateArray) { //常规的遍历方法时间是O(N)的,需要使用二分法,这样对于不重复的数组,就能实现O(logN)的时间 int l=0,r=rotateArray.size()-1; if(r=rotateArray[r]... 阅读全文
posted @ 2016-03-16 20:22 copperface 阅读(229) 评论(0) 推荐(0)
摘要:Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between tw... 阅读全文
posted @ 2016-03-16 20:21 copperface 阅读(170) 评论(0) 推荐(0)
摘要:时间复杂度为O( log n )的方法: 该算法使用矩阵乘法操作,使得算法时间复杂度为 O(logN)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879... 阅读全文
posted @ 2016-03-16 20:20 copperface 阅读(779) 评论(0) 推荐(0)
摘要:作者:July时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。 本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得混乱。所以一直想找机会重新写下KMP,但苦于一直以来对KMP的理解始终不够,故才迟迟 阅读全文
posted @ 2016-03-16 20:18 copperface 阅读(254) 评论(0) 推荐(0)
摘要:描述Given an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up to the target, where... 阅读全文
posted @ 2016-03-16 20:16 copperface 阅读(156) 评论(0) 推荐(0)
摘要:前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。 毕竟受文章和理论之限,本文摒弃绝大部分的细节,只谈方法/模式论,且注重用最通俗最直白的语言阐述相关问题。最后,有一点... 阅读全文
posted @ 2016-03-16 20:15 copperface 阅读(255) 评论(0) 推荐(0)