- 博客(91)
- 资源 (3)
- 收藏
- 关注
原创 c++实现哈夫曼编码完整代码
#include #include #include #include #include using namespace std;class Node { public: char c; //表示字符 int frequency; //表示该字符出现的次数或频率 Node *left; Node *right; Node(char _c
2012-12-25 13:53:13 7796 2
原创 判断出栈顺序是否正确,c++实现
现有N个元素1,2...N顺序入栈,给出一个出栈序列a1, a2...an判断此出栈序列是否正确,游戏规则是:元素必须后进先出首先,我们将出栈顺序保存在一个数组target[N]中,用一个变量current来模拟入栈(当然,要建立一个栈空间stacks),num来表示出栈顺序的当前编号,current和num都初始化为1那么,下面应该这样来处理1. 如果当前出栈元素target
2012-12-31 10:35:13 4139
转载 如何判断一个点是否在三角形内部
设三角形三个点A(a1,a2),B(b1,b2),C(c1,c2)三条边方程BC:fa(x,y)=0AC:fb(x,y)=0AB:fc(x,y)=0以BC为例,在三角形内的点必须与点A在BC的同侧所以对于点D(x,y)在三角形内首先要满足fa(x,y)*fa(a1,a2)>0其他边也同理所以只要比较fa(x,y)*fa(a1,a2)fb(x,y)*fb(b1,b2)fc(
2012-12-30 14:12:36 2224
原创 c++实现无限大整数的加法
#include using namespace std;class BigInt { public: const static int MAX = 10000; //表示大数允许的最大长度 BigInt() { } BigInt(char *s) { *this = s; } BigInt(int d) {
2012-12-30 00:28:03 2422
原创 功能强大的源码级调试器--gdb
第一步:编译源程序,-g选项告诉编译器生成调试信息例: gcc hello.c -g第二步:运行gdb例: gdb a.out一般操作-l 查看源码b n 在第n行设置断点r 运行p a 打印变量abt 查看调用栈q 退出n next运行下一条up 将调用栈上移动down将调用栈下移动执行up或down之后,调用[p 变量名]可以查看当前栈中
2012-12-29 20:38:55 1174
原创 [编程之美]回溯法求解数组分割问题
编程之美p202回溯法求解是将问题的解描述成一棵二叉树,向左延伸说明选择该结点,向右延伸说明不选择该结点,通过某一个扩展结点的时候,可以通过约束条件剪枝,从而达到降低算法时间复杂度的目的#include #include #define N 5using namespace std;int bs = 0; //表示搜索到的最好的子数组的和int cs = 0; //表示当
2012-12-27 22:53:56 1108
原创 c++实现0-1背包问题完整源码续(动态规划+回溯法实现)
//回溯法是将解空间映射为一棵解空间数(二叉树),第i层的结点代表第i个待选结点,以i为根,往左延生就代表选择该结点,往右延生表示不选该结点//每个叶子结点有唯一一条路径代表一个解#include #define MAX_NUM 5#define MAX_WEIGHT 10using namespace std;//动态规划求解int zero_one_pack(int total_
2012-12-27 16:11:32 2173
原创 c++实现0-1背包问题完整源码(动态…
[cpp] viewplaincopy#include #define MAX_NUM 5 #define MAX_WEIGHT 10 using namespace std; //动态规划求解 int zero_one_pack(int total_weight, int w[], int v[], int fla
2012-12-27 11:27:25 1555
原创 c++实现树的广度搜索和深度搜索完…
#include #include using namespace std;struct Node { //定义表结点 int adjvex; //该边所指向的顶点的位置 Node *next; //下一条边的指针};struct HeadNode{ // 定义头结点 int nodeName; //顶点信息 bool visited;//表示该结点是否
2012-12-27 11:27:18 742
原创 [编程之美]子数组的最大乘积
方法一使用动态规划逐步求解#includeusing namespace std;int max_product(int a[], int n) { int *s = new int[n+1]; int *t = new int[n+1]; int *p = new int[n+1]; s[0] = 1; //s[i]表示前i个元素的乘积 t[n] = 1;
2012-12-27 11:27:16 662
原创 c++实现图的邻接表(带有权值和入度…
#include using namespace std;struct Node { //定义表结点 int adjvex; //该边所指向的顶点的位置 int weight;// 边的权值 Node *next; //下一条边的指针};struct HeadNode{ // 定义头结点 int nodeName; //顶点信息 int inDegree
2012-12-27 11:27:14 3583
原创 Union-Find 按大小求并算法
#include#includeusing namespace std;class UF{ public: UF(int size): vec(size),parent(size) { for(int i = 0; i vec[i] = i; parent[i] = -1; } } void Uni
2012-12-27 11:27:11 1022
原创 【编程之美】寻找发帖水王课后习题
#includeusing namespace std;templatevoid find(TYPE a[], size_t N) { TYPE c1, c2, c3; size_t n1 = 0, n2 = 0, n3 = 0; for (int i = 0; i < N; i++){ if (n1 == 0) { c1 = a[i], n1 = 1; }
2012-12-27 11:27:09 849
原创 c++实现将简单的中缀表达式转化为…
不多说了,都在代码里了,假设只有加法和乘法,除法和减法类似#include #include using namespace std;bool isNotOperator(char c) { return c != '*' && c != '+'&& c!= '(' && c != ')';}//获取符号的优先级int getPriority(char c) { in
2012-12-27 11:27:07 710
原创 多重继承和虚继承的内存布局,超级…
这篇文章主要讲解虚继承的C++对象内存分布问题,从中也引出了dynamic_cast和static_cast本质区别、虚函数表的格式等一些大部分C++程序员都似是而非的概念。原文见这里(ByEdsko de Vries, January 2006) 敬告: 本文是介绍C++的技术文章,假定读者对于C++有比较深入的认识,同时也需要一些汇编知识。 本文我们将阐释G
2012-12-27 11:27:05 1260
原创 c++巧用非类型模板形参求数组长度
说道求数组长度,可能你首先会想到用以下公式int a[10] = {...};sizeof(a)/sizeof(int)或许,以下模版函数来得更加简单高效?#includeusing namespace std;templatevoid print(T(&t)[N]) { for (size_t i = 0; i != N; i++) { cout << t[i
2012-12-27 11:27:02 1095
原创 C++中关于理解dynamic_cast和stati…
#include using namespace std;class color{ public: virtual void f() { cout << "color::f()" << endl; } };class red : public color{ public: void f() {
2012-12-27 11:27:00 652
原创 为了更好地与大家交流,现决定将博…
由于新浪博客为非IT专业人士聚集的社区,再三斟酌下将本博客搬到CSDN,以后所有的博客内容将在CSDN上发表,欢迎来访
2012-12-27 11:26:58 620
原创 js如何实现模拟监听事件
function Animal(name) { this.name = name; this.getName = function() { returnthis.name; } this.setName = function(name) { this.name =name; this._valueChangeHandler('name'); } }
2012-12-27 11:26:56 842
原创 javascript实现私有属性私有方法
废话少说,直接上代码function People(name) { var _name = name; //私有属性 function privateMethod() { //私有方法 alert('private'); } return{ age: 0, //公有属性 setName: function(name) { //公有方法 _na
2012-12-27 11:26:54 928
原创 js中apply的用法(转)
之一------(函数的劫持与对象的复制)关于对象的继承,一般的做法是用复制法: Object.extend见protpotype.js 的实现方法:Object.extend = function(destination, source) { for (property in source) { destination[property] = source[pro
2012-12-27 11:26:50 749
原创 ubuntu下设置代理服务器
Squid是全功能的HTTP/1.0代理服务器,也近乎完整的兼容HTTP/1.1。Squid提供丰富的访问控制、认证和日志环境用以网站代理服务器和内容服务应用。本文简单介绍了如何架设一台透明Squid代理服务器。Squid可用于HTTP,HTTPS,FTP等网站的缓存代理服务器。它能通过缓存和重用那些经常被访问的网页l来降低带宽,改善反应速度。Squid有很强的访问控制,是一个出色的服务器加速
2012-12-27 11:26:48 1781
转载 Solution for "Waiting for …
原文地址:for "Waiting for network configuration" —— Ubuntu 11.10 启动慢">Solution for "Waiting for network configuration" —— Ubuntu 11.10 启动慢作者:狐行傲雪问题描述:系统启动非常慢,会出现一分多钟的waiting for networkconfiguration,接着又是
2012-12-27 11:26:46 608
原创 apk程序反编译之一:打造你自己的手…
首先上效果图 前提是你的电脑已经配置好java运行环境(自行google之) 1.准备环境 下载最新版本的QQ for Pad(Android)可以到http://im.qq.com/pad/ 下载,下载完成后重命名为qq.apk 将附件中的两个工具包分别解压,建议解压到C盘根目录 Attention: 目录中不能有中文 2.将qq.apk置于AndroidR
2012-12-27 11:26:44 624
原创 javascript通过style的属性名得到…
function getStyle(obj,name) { if(obj.currentStyle) //兼容ie { return obj.currentStyle[name] } else {
2012-12-27 11:26:42 678
原创 Ubuntu下:启动工程ruby script/se…
此时提示信息是你所启用的端口已经被占用了,所以:1.输入命令(找到3000的所在端口pid):netstat -tulpn | grep 3000当然,你会看到-->tcp 0 0 127.0.0.1.3000 0.0.0.0:* LISTEN1877/ruby2.输入命令(杀死被占用的pid):kill -9 18773.重新启动ruby script/server 即可
2012-12-27 11:26:39 719
原创 jquer属性
小插曲jQuery对象转成DOM对象:两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。如:var $v =$("#v") ; //jQuery对象var v=$v[0]; //DOM对象alert(v.checked) //检测这个checkbox是否
2012-12-27 11:26:37 695
原创 jquery 选择器
jquery支持多个元素选择器,如HTML 代码:divpclass="myClass"spanpclass="notMyClass"jQuery 代码:$("div,span,p.myClass")同理,jquery里面选择器的作用的class里面的选择器的作用非常类似,如$("form input") 选择后代元素,包括子后代的子后代等等$("form>input
2012-12-27 11:26:35 694
原创 jquery 多库共存
jQuery.noConflict()运行这个函数将变量$的控制权让渡给第一个实现它的那个库。这有助于确保jQuery不会与其他库的$对象发生冲突。在运行这个函数后,就只能使用jQuery变量访问jQuery对象。例如,在要用到$("divp")的地方,就必须换成jQuery("div p")。注意:这个函数必须在你导入jQuery文件之后,并且在导入另一个导致冲突的库之前使用。当
2012-12-27 11:26:33 635
原创 jquery插件机制
jQuery.fn.extend(object)扩展 jQuery 元素集来提供新的方法(通常用来制作插件)。示例增加两个插件方法。jQuery 代码:jQuery.fn.extend({check: function() {return this.each(function() { this.checked = true; });},uncheck: function() {
2012-12-27 11:26:31 571
原创 jquery数据缓存
juery可以动态地在一个元素上加上键值对,其中“对”甚至可以是对象 $('#data').data('test',{name:'yuchao',age:24}); alert($('#data').data('test').age); $('#data').removeData('test'); alert($('#data').data('test'
2012-12-27 11:26:29 571
原创 jquery对象访问
补充上一节$("",{text:"点击我",click:function(){alert(1);}}).appendTo('body');迭代两个图像,并设置它们的 src 属性。注意:此处 this 指代的是 DOM 对象而非 jQuery 对象。$("img").each(function(i){ this.src ="test" + i + ".jpg"; }
2012-12-27 11:26:27 632
原创 jquery核心函数
jQuery(expression,[context])expression (String) :用来查找的字符串context (Element, jQuery) : (可选)作为待查找的 DOM 元素集、文档或 jQuery 对象。在文档的第一个表单中,查找所有的单选按钮(即: type 值为 radio 的 input元素)。jQuery 代码:$("input:radio"
2012-12-27 11:26:25 556
原创 Ubuntu下更改主显示器
Ubuntu下更改主显示器 查看显示器信息:fdm@fdm-OptiPlex-780:~$ xrandr 设置主显示器fdm@fdm-OptiPlex-780:~$ xrandr --output HDMI1 --auto--primary设置副显示器在主显示器右边fdm@fdm-OptiPlex-780:~$ xrandr --output VGA1 --rig
2012-12-27 11:26:22 1258
原创 Linux 下安装jdk
linux下安装JDK最近开始回顾一些Linux的基础知识,温故而知新才行。在linux下安装JDK如下:第一步:查看Linux自带的JDK是否已安装(1)查看已经安装的jdk:# rpm -qa|grep jdk ←查看jdk的信息或直接执行或# rpm -q jdk 或# java -version (2)rpm -qa|grep jd
2012-12-27 11:26:20 518
原创 javascript高手必经之路(六)---对…
1.在javascript中,每一个对象都有一个constructor属性,它应用了初始化这个对象的构造函数,例如var d = new Date();那么d.constructor的值就是Date所以,我们可以通过constructor来判断对象的类型if(typeof o == "Object" && typeof o=="Date") {...}也可以写成if(typeof
2012-12-27 11:26:18 472
原创 javascript高手必经之路(五)
1.关于 try catch finaly语句try语句可以在没有catch从句的情况下和finally从句一起使用,在这种情况下,finally块中包括清楚代码,无论try从句中是否有break语句,continue语句,return语句,这些代码都一定会被执行。例如,下面的代码可以确保循环计数器在每次地带的末尾加1,var a=[5,1,2,"3"];var i=0,total=0;
2012-12-27 11:26:16 585
原创 javascript高手必经之路(四)
1.typeof运算符,用来返回运算数的类型如果运算数是数字,字符串,或者布尔值,那么就返回number,string,boolean如果是包装类,就返回Object,并且在所有的客户端脚本中的对象都返回Object格式为typeof xxx 或 typeof(xxx)注意大小写所以要区别一种对象类型和另一种对象类型,必须使用其他的方法,例如instanceof运算符或者constru
2012-12-27 11:26:14 606
原创 javascript高手必经之路(三)
1.比较运算法 var a = "1"; alert(a<2);输出true var a = "1";alert(a javascript中,字符串比较的时候会区分大小写,而且所有的大写字母小于所有的小写子母,所以alert("Zoo">"abaou")输出false;所以一般采用更为健壮的方法String.localeCompare()进行比较假设比较运算符两边的参数为a,ba,b都
2012-12-27 11:26:12 564
原创 javascript高手必经之路(二)
1.深入理解变量作用域:每个javascript执行环境都有一个和它关联在一起的作用域链,这个作用于连是一个对象列表或者对象链,当javascript代码需要查询变量x的值时(一个成为变量名解析的过程),它就开始查看该链的第一个对象,如果那个对象有一个名为x的属性,那么就采用那个属性的值,如果第一个对象没有名为x的属性,javascript就会继续查询链中的第二个对象,依次查询下去。javascr
2012-12-27 11:26:10 525
Android开发之方向传感器的使用源码,Eclipse工程文件
2012-02-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人