自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 算法导论:c++实现红黑树

数据结构性质 这里定义一个结构体保存颜色enum colorRB{ black = 0, red,};struct TreeNode_RB { int val; colorRB color; TreeNode_RB *left; TreeNode_RB *right; TreeNode_RB *parent; TreeNod

2017-12-21 11:17:27 370

原创 算法导论:c++实现二叉搜索树

struct TreeNode_p { int val; TreeNode_p *left; TreeNode_p *right; TreeNode_p *parent; TreeNode_p(int x) : val(x), left(NULL), right(NULL),parent(NULL) {}};二叉搜索树搜索TreeNode_p *tree_s

2017-12-18 16:27:54 566

原创 算法导论:开放寻址

插入散列表查找散列表探查方法图中,第一次查找h1(k)=1 mod 13=1,h2(k)=1+(14 mod 11)=4,h(k,1)=(h1(k)+1×h2(k))mod 13=5。所以先查找1和5位置,非空后查找h(k,1)=(h1(k)+2×h2(k))mod 13=9处。二级散列

2017-12-18 15:17:54 888

原创 c++实现植物大战僵尸修改器

参考C++项目开发实战入门的第四章内容,书里面写的太简略了,自己实现的时候整理了一下。建立对话框建立一个基于对话框的MFC程序MemoryCheatDlg,绘制主界面,主对话框ID:IDD_MEMORYCHEAT_DIALOG: 包括进度条,多个编辑框,两个复选框,多个按钮,两个List Box。 新建一个对话框用于32位进程显示,对话框ID:IDD_DIALOG_PROGRESS_LIST

2017-12-16 15:23:13 11818 2

原创 编程之美:寻找最大的K个数

解法一: 该解法是大部分能想到的,也是第一想到的方法。假设数据量不大,可以先用快速排序或堆排序,他们的平均时间复杂度为O(N*logN),然后取出前K个,时间复杂度为O(K),总的时间复杂度为O(N*logN)+O(K). 当K=1时,上面的算法的时间复杂度也是O(N*logN),上面的算法是把整个数组都进行了排序,而原题目只要求最大的K个数,并不需要前K个数有限,也不需要后N-K个数

2017-12-08 15:47:11 367

原创 算法导论:c++选择算法

选择算法即给定数组A,选出第i个大的元素,区别于排序后选择这种比较慢的方法,选择算法不需要排序即可选出第i个大元素基于随机快排选择算法首先实现随机快排: 随机快排就是在快排的基础上主元用随机数产生。// 随机快速排序之随机选择替代主元int random_partition(int array[], int p, int r){ int i=(rand() % (r - p + 1))

2017-12-08 11:29:28 902

原创 mfc绘制曲线

自带库绘制用mfc自带的绘图函数绘制一个sin曲线,可以说是非常费力和傻了,基于对话框程序在onPaint()函数中添加绘制代码。效果也并不是很好。void CdrawLineDlg::OnPaint(){ if (IsIconic()) { CPaintDC dc(this); // 用于绘制的设备上下文 SendMessage(WM_ICONERA

2017-12-06 21:04:25 11525 1

原创 javaWeb购物商城设计---总体设计

参考JavaWeb项目实战实现的一个51购物商城。 web服务器:Tomcat 数据库:sql server 前端:jsp总体结构src文件 model:定义的是商品类Goodselement和用户类Member tools:定义CheckCode验证码处理的servlet,Chstr字符转换处理,connDB连接数据库 dao:实现数据库用户表的查询和插入操作数

2017-12-06 13:40:38 33218 101

原创 c++实现吃豆子游戏

仍然是按照教程做的一个有三关的吃豆子游戏,这个游戏比较简单创建的是win32应用程序,调用了GDI绘图库。玩家吃完地图内全部豆子则胜利,地图内安放3个干扰小人,被干扰小人吃掉则游戏结束。游戏结果:关卡1: 关卡2: 关卡3: 框架结构 pacman:游戏主函数,控制主循环 GMap:地图类用于创建三关的地图 Stage_1、Stage_2、Stage3:继承自GMap,

2017-12-06 11:48:21 19767 3

原创 算法导论:c++桶排序

代码实现桶排序是按照桶的概念把元素往里面放,然后桶内还有一个排序,桶内排序可以用比较排序也可以用计数排序递归使用桶排序也可以。我这里比较懒,直接用了sort函数。直接就三步,仍然用vector实现。 建桶 放桶 连接桶 vector<double> bucket_sort(vector<double> array) { vector<vector<double>> o

2017-12-04 17:17:44 768

原创 算法导论:c++计数排序

区别于比较排序需要元素进行相互比较,计数排序仅仅通过元素个数确定它在排序结果中的位置。代码实现实在是不想用数组了,这次用方便易操作的vector代替。/*计数排序*/vector<int> counting_sort(vector<int> array,int k) //k表示数组中最大元素,output为输出{ vector<int> temp(k+1,0);//临时数组,存放个数

2017-12-02 17:25:26 612

原创 算法导论:c++归并排序

基本思想就是把数组一直分成两半,然后对这两半进行排序归并。 先分成左右两半,然后合并时比较左右两半一直选最小的替代原数组。这种排序是非原址的,需要额外的空间。 伪代码非常简单,采用分治的思想: 合并的伪代码: 一趟合并的示意图: 代码实现/*归并排序合并部分*/void merge(int array[], int p, int q, int r) { int n1 =

2017-12-02 16:44:50 447

原创 javaWeb购物商城设计---商品详情显示

商品列表显示见:http://blog.csdn.net/u013948010/article/details/78675164 主页面显示商品列表,单击图片进入商品详情:<a href="goodsDetail.jsp?ID=<%=hot_ID%>">商品详情数据库表tb_goods: 建立goodsDetail.jsp页面访问数据库获取商品根据页面跳转传递的商品ID访问数据库获得商品详情。<

2017-12-02 11:53:04 30382 17

原创 算法导论:c++快速排序

快速排序也采用分治的思想,以最后一个元素为基准把其分成大于它和小于它的两部分,关键在于确定分割点。算法思想一趟快排算法实现安装书上的算法思想,主要要注意 i,j的初始化,i=p-1,j=p 终止条件j=r 每次循环j都要+1移动/*快排分割,p首端,r尾端,i控制小于,j控制大于*/int quick_partition(int array[], int p, int r){

2017-12-01 19:47:48 300

空空如也

空空如也

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

TA关注的人

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