自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 解析某个网页中所有的超链接

前段时间无聊,写的一个获取网页中所有http超链接的代码(不重复)网页中的超链接一般都已的形式出现,本文就是获取那“http://......”部分的数据,并进行去重!思路非常简单:1.解析网址(如http://www.baidu.com),可以解析出主机名:www.baidu.com,默认端口号802.通过DNS解析主机名,得到一个hostent结构3.构造http请求头,将ht

2013-11-28 15:50:41 1757

原创 算法杂谈--归并排序

归并排序是一种递归算法,他通过将数组分割,依次排好之后进行合并归并两个数组的过程如下:1.以a[0]、b[0]中较大者为临界值mid,保存较小者。如果mid在a中,则下次b中取数,turn=1;如果mid在b中,则从a中取数turn=02.根据turn值从a[1]或b[1]依次取小于等于mid的数,如果值大于mid,这将mid设置为该值,并改变turn值(也就是轮询到另一个数组

2013-11-27 17:12:56 441

原创 算法杂谈--寻找数组中最小的k个数

求解此问题最简单的方式就是先将数组排序,然后取出最小的k个数即可递归实现:首先找出一个中间数mid,本例中以数组中第一个数为中间数。然后以mid将数组分成两拨,小于等于mid的一拨存入low数组,大于mid的一拨存入max数组,如果low中元素个数m小于等于k,则表明low数组中全部元素和mid均为所求,并且还需要从max数组中取k-1-m个最小的数;如果low中元素个数大于等

2013-11-27 16:21:06 564

原创 算法杂谈--四则运算

这是小米手机2014校园招聘时候的算法题,它只要求10以内的四则运算!我当时用堆栈实现,可惜没考虑有括号的情形。此例子是包含括号的四则运算,支持负数的直接加减乘除,并且运算结果为分数(前几天写的比较急,没考虑除数为0的情形测试的也不是很多,能运行,但应该会有一些小问题)无括号的四则运算,用堆栈即可实现!有括号的四则运算,通过从内到外去括号进行递归即可得到解。在去括号过程后得到

2013-11-27 15:43:26 995

原创 算法杂谈--用双链表实现洗牌

思路:首先构建双链表,把54张牌串联起来!然后循环随机抽牌。第一次从54张牌中抽取一张,第二次从剩余的         53张牌中抽取一张,以此内推,直到剩余的牌为0#include #include #include #include #include //54张牌,S表示10,X表示小王,D表示大王char pai[]={'3','3','3','3','4','

2013-11-27 14:34:54 677

原创 算法杂谈--构造数独

数独描述:在9*9的格子内,填入1~9,要求每一行每一列不能有重复数,并且,每个格子所处的3*3格子内不得有重复数。分析:这是一个典型的递归回溯算法,本例中用一个except[9][9][9]的数组来构造每个格子的禁忌表(就是该格子中不能填入的数)用变量hs来表示此次填数是向前递归运算还是回溯运算。如果是向前递归,则计算该格子的禁忌表,如果是回溯,则将当前格子中的数加入禁忌表。

2013-11-27 14:10:40 722

原创 算法杂谈--关于二叉树

本例中涉及二叉树的创建、先序遍历、广度优先遍历、深度二叉树的广度优先遍历思路;用一个链表保存每一层的节点,然后通过递归得到解,详见gdyx函数#include #include #include //二叉树的结构体typedef struct btree{ int data; struct btree *left; struct btree *righ

2013-11-27 13:56:37 490

原创 算法杂谈--01背包

问题描述:给定一个载重为n的背包,现有m颗宝石,宝石具有重量和价值,现在往背包放宝石,让其价值最大!分析:假设背包重量为11,有5颗石头,重量和价值分别为(2,10),(3,7),(2,10),(6,12),(3,8)   设f(11,5)为背包载重为11,有5颗石头时的最大价值!现在把(2,10)这颗石头拿出来分析,如果  此石头加入到背包中则f(11,5)=f(11-2,4)+10

2013-11-27 13:20:53 396

原创 UML调试linux2.6.34.14中的sys_socketcall

1 工具    vmware9+Fedora8+linux2.6.34.14的内核源代码+ext3文件系统(网上下载的)    题中所说的UML不是建模用的那玩意,它指User mode linux,可以让linux在用户模式下运行!2 安装虚拟机与Fedora8系统   安装vmware,然后在vmware中安装Fedora8!十分简单,略……3 构建UML

2013-05-30 17:04:27 840

原创 内核调试 VMware9+Fedora8+kgdb+linux2.6.15

1.准备工具  实现linux2.6.15的调试,需要Vmware workstation9(也可以是其它版本,只要能实现串口通信和虚拟机clone);操作系统选择一个比较简单、比较老的版本就好(新版本对内存要求比较高!);kdgd的补丁;linux2.6.15的内核源代码。2 创建两台虚拟机,并实现串口通信   vmware workstation安装虚拟机就不赘述,创建串口

2013-05-20 21:10:55 640

原创 C和C++中static、不同源文件中成员和函数的互相访问的比较

1.static是C和C++中比较重要的关键字,某些情况下它在C和C++中的作用是相同的,首先讨论下它们作用相同的地方:  1)当static在C和C++中修饰函数中的局部变量时,编译器将改变它的存储形式,被修饰的变量和生命周期不会随着函数的退出而消亡。         2)当static在C和C++中修饰函数和全局变量时,可以简单的把它理解为private。下面写个简单的例子:fir

2012-10-19 16:30:28 1182

java设计模式-策略模式

此代码简单的模拟了超市的促销策略,有打折、返钱等操作!针对商场中出现的各种各样的促销策略,很方便的便可实现策略的拓展!

2012-07-22

java设计模式-简单工厂

这个简单工厂的示例中,用工厂类来创建实际的运算操作!易于功能的扩展……

2012-07-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除