自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 堆排序

题目:堆排序

2016-05-31 23:31:33 335

原创 优先级队列

堆的实现--->优先级队列注:由于大堆与小堆的实现大同小异,只需要修改大于或小于号;所以为了代码复用,本人使用了模板参数及模板的模板参数模板的模板参数:为了引入仿函数即函数对象;此处不多介绍仿函数,它只是一个函数对象;一个类型;如下:类型GreaterCompare与类型LessCompare:他们的内部都只是重载了();templatestruct Great

2016-05-31 17:30:36 381

原创 旋转数组的最小数字

题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1.

2016-05-24 23:18:49 262

原创 打印1到最大的n位数

题目:输入数字n,按顺序打印出1到最大的n位十进制。比如输入3,则打印出1、2、3一直到最大的三位数即999

2016-05-24 19:54:35 347

原创 数值的整数次方

题目:实现函数double Power(double base,int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。

2016-05-23 21:44:33 264

原创 在O(1)时间删除链表结点

题目:给定单向链表的头指针和一个结点的指针,定义一个函数在O(1)时间删除该结点。链表结点与函数的定义如下:代码如下:#include#include#includestruct ListNode{ int m_pValue; struct ListNode* m_pNext;}*head;//增加一个结点void addListTailNode(st

2016-05-16 19:45:37 239

原创 调整数组顺序使奇数位于偶数前面

题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分分析如下图:代码如下:#includevoid Swap(int* x, int* y){ int tmp = *x; *x = *y; *y = tmp;}void oddtoeven(int* arr, int l

2016-05-13 21:33:26 271

原创 菲波那切数列

题目:写一个函数,输入n,求菲波那切数列(Fibonacci)的第n项菲波那切数列的定义如下:说明:除了第0项为0,第一项为1,第n项都为前俩项之和eg:01 2 3 4 56 7 8 9 1011 ...... 0 1 1 2 35 8 13 21 3455 89 ......代码如下:/

2016-05-13 14:54:44 866

原创 输入二叉树的前序遍历和中序遍历,重建出该二叉树

题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设前序遍历与中序遍历的结果都不含重复的数字。eg:前序遍历:{1,2,4,7,3,5,6,8};        中序遍历:{4,7,2,1,5,3,8,6};二叉树结点定义如下:struct BinaryTreeNode{int _value;BinaryTreeNode* _left;Bin

2016-05-11 18:46:32 645

原创 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请按成 一个函数,输入这样一个二维数组和一个整数,判断数组中是否含有该整数

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请按成 一个函数,输入这样一个二维数组和一个整数,判断数组中是否含有该整数分析如下图(也是测试用例):上面例子:row = 4;col = 5;IsExitNum()函数:值num在arr[4][5]中是否存在;代码如下:#includ

2016-05-10 23:12:50 1797

原创 请实现一个函数,把字符串中的每个空格替换成“ ”

题目:替换空格---请实现一个函数,把字符串中的每个空格替换成“%20”例子:We are happy.\0替换后:We%20are%20happy.\0思路:从字符串的后面往前替换,这样字符移动的次数少,时间复杂度为:O(n);如下图1:1、首先得遍历字符串,计算字符串的真实长度,以及空格的个数;2、计算替换空格后的长度,2*空格个数+字符串真实长度3、当字符不等于' '

2016-05-09 23:03:50 1229

原创 链表的逆置

题目:输入一个链表的头节点,从头到尾反过来打印出每个节点的值Reverse()函数:输入头结点,可输出的确是从尾到头;即第一个输入的节点,最后一个输出;最后一个输入的结点,第一个输出;很典型的“后进先出“;用桟实现;1、将结点放进桟中,当结点全遍历一遍时,链表已经反过来,2、此时再从桟顶逐个输出结点的值Reverse2()函数:递归本质就是桟结构;则用_Reverse2(_

2016-05-09 21:21:08 1656

原创 单例模式

题目:实现一个类,只能生成该类的一个实例

2016-05-09 11:55:27 383

原创 实现CMyString类--深拷贝与浅拷贝

实现CMyString类,实现赋值运算符函数(深拷贝与浅拷贝)深拷贝:赋值运算符函数说明步骤1、释放原来的内存空间步骤2、再重新开辟要赋值的对象的大小的空间步骤3、再将另一个对象的值拷贝给this对象友元函数的说明:由于输出重载需要俩个参数,不能再隐含this指针,故使用友元函数代码如下:class CMyString{public:

2016-05-08 21:45:01 940

原创 两个桟实现一个队列

题目:俩个桟实现一个队列,请实现它的俩个函数appendTail/deleteHead算法思路:入队:将元素压入桟s1中;//appendTail出队:先判断s2中是否为空,如果不为空,直接弹出栈顶元素;否则,将s1中的元素逐个弹出并压入桟s2中,把最后一个元素弹出并出队;//deleteHead判断队列是否为空(empty()):判断s1/s2中都没有元素时,返回true

2016-05-06 21:05:10 670

空空如也

空空如也

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

TA关注的人

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