C++
t617
放码过来
展开
-
lambda
C++11 新增了很多特性,lambda 表达式是其中之一C++11 的 lambda 表达式如下:[ capture ] ( params ) mutable exception attribute -> ret { body }[ capture ] ( params ) -> ret { body }[ capture ] ( params ) {原创 2016-06-03 20:45:40 · 357 阅读 · 0 评论 -
有关学习编程的网站
1. github (代码托管)2. stackoverflow (编程题目)3. cplusplus (c++网站)4. online judge (编程题目)5. 九度 (编程题目)6. tutorialspoint(在线编译器)7. csdn (你懂)原创 2016-05-15 22:20:39 · 494 阅读 · 1 评论 -
sicily 简单哈希
sicily 1004. 简单哈希原题:Description 使用链地址法(又称拉链法)可以解决Hash中的冲突问题。其基本思想是:将具有相同哈希地址的记录链成一个单链表,m个哈希地址就设m个单链表,然后用一个数组将m个单链表的表头指针存储起来,形成一个动态的结构(图1)。 现在给定哈希函数为Hash(key)= key mod 13,要求使用链地址法处理冲突,设有冲突的元素均插入表尾。要原创 2016-12-14 21:26:43 · 1270 阅读 · 0 评论 -
AVL Tree
sicily 1005. AVL Tree 给出结点的插入序列,构造AVL Tree。原创 2016-12-10 15:20:10 · 968 阅读 · 0 评论 -
最小生成树Prim算法
最小生成树最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。Prim算法简述1).输入:一个加权连通图,其中顶点集合为V,边集合为E;2).初始化:Vnew= {x},其中x为集合V中的任一节点(起始点),Enew=原创 2016-12-08 19:04:21 · 567 阅读 · 0 评论 -
二叉搜索树(非递归)
二叉查找树(英语:Binary Search Tree),也称二叉搜索树、有序二叉树(英语:ordered binary tree),排序二叉树(英语:sorted binary tree),是指一棵空树或者具有下列性质的二叉树:任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;任意节点的左、右子树也分别原创 2016-06-02 13:16:34 · 366 阅读 · 0 评论 -
二叉搜索树(递归)
二叉排序树也叫二叉搜索树和二叉查找树,是比较常见的一种二叉树下面是二叉树的简单递归建立与遍历和删除操作方法:#includeusing namespace std;class binary { private: struct node { int data; node* l; node* r; node(i原创 2016-05-15 22:08:06 · 440 阅读 · 0 评论 -
简单括号匹配
Description检查输入字符串中的括号是否匹配。括号包括:{, }, (, ), [, ]. Input第一行是一整数,即测试样例个数n.以下n行,每一行是一个长度不超过100个字符的字符串。 Output匹配成功输出Yes,否则输出No,每个输出加换行。 Sample Input4a2-[(1+2)*2](a+b原创 2016-12-30 16:47:29 · 822 阅读 · 0 评论 -
排序问题合集
c/c++ 排序 快速排序 归并排序 冒泡排序 插入排序 选择排序原创 2016-05-15 21:44:43 · 341 阅读 · 0 评论 -
Dijkstra's 算法
迪杰斯特拉算法迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。原理:1.首先,引入一个辅助向量D,它的每个分量 D 表示当前所找到的Dijkstra算法运行动画过程从起始原创 2016-12-08 00:19:24 · 652 阅读 · 0 评论 -
Floyd算法求最短路径
Floyd算法算法思想通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。算法过程1,从任意一条单边路径开始。所有两点之间的距离是边的权,如果两点之间没有边相连,则权为无穷大。2,对于每一对顶点 u 和 v,看看是否存在一个顶点 w 使得从 u 到 w 再到 v 比已知的路径更短。如果是更新它。把图用邻接矩阵G表示出来,如果从Vi原创 2016-12-12 14:03:56 · 785 阅读 · 3 评论 -
五大常用算法一(回溯,随机化,动态规划)
首页专题下载手机应用显示模式登录 注册 登录 添加关注作者 fredal 2016.02.24 00:02*写了80014字,被131人关注,获得了191个喜欢五大常用算法一(回溯,随机化,动态规划)字数11045 阅读178 评论0 喜欢6回溯算法回溯法:也称为试探法,它并不考虑问题转载 2016-04-28 09:40:36 · 4368 阅读 · 0 评论 -
53. Maximum Subarray
Maximum SubarrayFind the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [-2,1,-3,4,-1,2,1,-5,4],the contiguous su原创 2017-09-09 12:05:06 · 249 阅读 · 0 评论 -
Date类实现
要实现一个简单的Date类不是很难,下面简单实现Date的一些基本用处:要求:#ifndef DATE_H#define DATE_H#include #include class Date {public: /** * @brief default constructor */ Date(); /** * @brief constructor wi原创 2016-08-31 00:12:57 · 655 阅读 · 0 评论 -
const
1、什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:) 2、为什么引入const? const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。 3、cons有什么主要的作用? (1)可以定义const常量,具有不可变性。 例如: const int M原创 2016-07-05 20:08:30 · 324 阅读 · 0 评论 -
permutation
在标准库算法中,prev_permutation和next_permutation应用在数列操作上比较广泛.这个函数可以计算一组数据的全排列.包含在algorithm头文件中.调用next_permutation使数列逐次增大,这个过程按照字典序增,同理prev_permutation按字典序递减.如数组a[3]= {0, 1, 2} 有6种排序0 1 20 2 1原创 2016-06-03 19:44:35 · 443 阅读 · 0 评论 -
STL bitset题目
Give you N numbers a[1]...a[n]and M numbers b[1]...b[m]For each b[k], if we can find i,j a[i] + a[j] = b[k] or a[i] = b[k] , we say k is a good number.And you should only output the number of g原创 2016-05-26 10:04:09 · 1108 阅读 · 0 评论 -
bfs实现迷宫路径最小
You are provided a maze(迷宫), and you need to program to find the least steps to walk from the start to the end.And you can only walk in four directions:up, down,left, right.There will only be 5 ki原创 2016-05-21 09:52:15 · 480 阅读 · 0 评论 -
string类大小写转换
经常遇到字符串类型大小写转换,下面用两种方法实现:1. tolower / toupper--头文件#include#include#include#includeusing std::cin;using std::cout;using std::endl;using std::string;using std::set;using std::vector; int原创 2016-05-17 20:30:33 · 931 阅读 · 0 评论 -
双向链表DouList
双向链表可以跟单向链表比较优点在可以在两边进行添加删除元素 Double类声明及定义:#include struct DouListNode { int elem; DouListNode *prev, *next; DouListNode(int e = 0, DouListNode *p = 0, DouListNode *n = 0) { elem = e;原创 2016-05-15 23:32:28 · 387 阅读 · 0 评论 -
c/c++栈与队的数组实现方法
stack与queue均为容器适配器,下面使用数组容器实现栈和队的基本操作:stack:class stack {private: int * storage; int max_size; int top;public: stack() { this->storage = new int[MAX_SIZE](); this->max_size = MAX原创 2016-05-15 22:01:01 · 454 阅读 · 0 评论 -
string类总结
string类在c++学习过程中有很大作用,所以介绍一下我们经常用到的string类常用函数:1.find()函数:(1) size_t find ( const string& str, size_t pos = 0 ) const; 要查找的string字符串 + 起始位置(2) size_t find ( const char* s, size_t pos, size_t原创 2016-06-04 11:38:56 · 319 阅读 · 0 评论 -
栈和队用链表实现
栈是FILO,队是FIFO, 用类实现栈很简单,用链表操作需要注意的是内存问题,下面是用链表实现简单的数据结构--栈和队:stack#include#includeusing namespace std;class Stack { public: Stack() { top_node = NULL; node_原创 2016-05-17 20:46:41 · 274 阅读 · 0 评论 -
两个队列实现栈功能
key points:template class and function, stack and queue.Description:In this assignment, you need to complete Class Stack's declaration and definition with Template. The different thing is that t原创 2016-05-21 11:21:43 · 378 阅读 · 0 评论 -
D&A 5 Collection with Inheritance
真正面向对象的编程需要对象来支持三种特性:封装、继承和多态,多态性使许多实现的一个通用接口,并在不同的情况下,在不同的情况下采取行动。C++支持多种静态(编译时)和动态(运行时)的多态性,语言所支持的功能上面。编译时多态性不允许某些运行时的决定,而运行时多态性通常会导致性能损失。静态多态性不是真正的多态现象,包括函数重载,操作符重载和模板,这不是我们要做的工作(在这个问题)。动态多态性:变量的指针原创 2016-06-10 10:03:46 · 409 阅读 · 0 评论 -
List With Iterator (lab and HW)
完成伪标准:用伪迭代器列表完成mylist.h,一起写的声明和定义。模板如下:template class list { public: struct listelem; // forward declarations class iterator; list(); list(size_t n_elements, const T& c);原创 2016-06-10 13:07:44 · 625 阅读 · 4 评论 -
线性同余法取随机数
线性同余法求伪随机数,Linear-Congruential: (a * x + c) % m, a > 0, m > 0, m % a 首先,说明一下取随机数一般会用rand函数,取time.h文件中的clock()作为种子,产生我们需要的随机数#include #include //srand()、rand()#include //time();int mai原创 2016-07-01 23:16:36 · 14914 阅读 · 2 评论 -
学习归幷排序
归幷排序基本代码演示:用类封装:public void Merge(int* a, int low, int width, int height) { int i = low, j = width + 1, k= 0; int* array = new int[high - low + 1]; while (i <= width && j <= height) {原创 2016-05-15 20:48:08 · 264 阅读 · 0 评论 -
寻找第k大数字
1003. 寻找第k大数字(numberk)原创 2016-12-10 14:20:57 · 2250 阅读 · 0 评论