- 博客(8)
- 收藏
- 关注
原创 算法题1:蛇形打印矩阵
// Snake.cpp//////////// n=3:// 1 2 6// 3 5 7// 4 8 9//////////// n=4:// 1 2 6 7// 3 5 8 13// 4 9 12 14// 10 11 15 16
2015-08-18 21:19:03 504
原创 二叉查找树的基本操作
#include using namespace std;#define MAXSIZE 8class Node {public: Node(int key) { m_key = key; init(); } void init() { m_left = NULL; m_right = NULL; m_p = NULL; } ~Node() {}
2015-08-04 21:49:16 351
原创 构造函数私有化的作用以及私有继承
1. 将default构造函数声明为私有化作用1: 只允许类内部进行初始化(singleton模式)作用2: 防止函数调用中的值传递2. 将copy构造函数和copy assignment操作符私有化作用: 拒绝class的拷贝和赋值动作- 进一步为了防止自身member函数和friend函数调用私有的copy构造函数和copy assignment操作符,可以在声明私
2015-07-30 21:47:56 1923 1
原创 C++中的四种cast
C++提供四种新式转换:const_cast (expression) //移除常量性dynamic_cast (expression) //安全的向下转型将base class的指针转换成derived class型指针,来调用derived class中的函数reinterpret_cast (expression) //低级转型(如pointer to int)stati
2015-07-30 20:37:37 439 1
原创 03寻找子数组的最大和
题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。动态规划的思路:用sum[i]表示以i为结尾的子串中最大的和,那么数组中a[i+1]要么加到前面子串的末尾,要么重新生成一个新的子串作为开头。因此sum[i]=max(sum[i]+a[i+1], a[i+1])。最后的结果是sum数
2015-07-24 15:57:02 381 1
原创 基于计数排序子程序的基数排序实现
#include #include using namespace std;#define RADIX 3#define LENGTH 7int A[LENGTH] = { 329, 457, 657, 839, 436, 720, 355 };// copy a[] into b[]void CopyArray(int* a, int* b){ for (int i =
2015-07-24 00:43:04 451 1
原创 02设计包含min函数的栈
题目:定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。要求函数min、push 以及pop 的时间复杂度都是O(1)思路:元素结构里包含一个min域,表示当前元素压栈后,当前栈内的最小元素的值。#include using namespace std;#define STACK_SIZE 10class StackElement {public: St
2015-07-23 16:05:58 296 1
原创 01二叉查找树转化成双向链表
输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。#include using namespace std;#define MAX 10struct BSTreeNode{ int m_nValue; // value of node BSTreeNode *m_pLeft; // left chil
2015-07-23 13:34:49 310 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人