C++
Gummary
这个作者很懒,什么都没留下…
展开
-
C++_重构String类
//吴振寰老师课堂代码#include <iostream>#include <string>using namespace std;class SString{public: void show() const//输出函数,const,无法改变s_的值 { for(size_t i = 0; i < len_; i++) cout <原创 2015-04-28 18:38:38 · 1205 阅读 · 0 评论 -
C++_子集生成算法汇总
增量构造算法每次递归选取一个值放入到集合中,每次递归也输出一遍 递归结束就是无法向集合中添加元素时#include <iostream>using namespace std;//cur用于确定子集的大小void print_subset(int *A,int n,int cur){ if(cur==0) cout << "kong"; for(int i = 0;i<cu原创 2015-09-12 10:16:32 · 6555 阅读 · 1 评论 -
C++_递归习题汇总
霍纳规则霍纳规则是一种使用最少数目的乘法在点x0处计算多项式的方法。如果一个多项式为A(x)=anxn+an-1xn-1+……+a1x+a0,则霍纳规则为: A(x0)=(…(anx0+an-1)x0+…+a1)x0+a0由公式可以看出括号内的部分即为递归的过程,最后递归的出口应为a0#include <iostream>using namespace std;int Horner(int *a,原创 2015-09-11 20:00:51 · 3859 阅读 · 0 评论 -
C++_简单的链表栈
类中包含一个指针指向栈顶的元素,定义一个结构体,包括值和一个指向他上一个元素的指针,#include <iostream>#define NULL 0using namespace std;class MyStack{private: struct node { int s; node *link; }; node *top;p原创 2015-09-12 19:15:20 · 1980 阅读 · 0 评论 -
C++_写一个聊天机器人
注:本文翻译自http://www.codeproject.com/articles/36106/chatbot-tutorial#preprocessing简介聊天机器人就是一种能和你用相同的自然语言交流的电脑程序,这便意味着机器人的能力是由回复的质量来决定的。根据这个定义我们就可以用几行代码来完成一个非常基础的机器人。下面就是我们的第一个机器人(下面的所有的代码都会用c++完成,阅读下面的代码需翻译 2015-09-08 12:01:35 · 16730 阅读 · 5 评论 -
C++_队列的两种实现方法
通过数组表示#include <iostream>#define NULL 0using namespace std;class MyQueue{private: int *q; int front_, rear_,maxsize;public: MyQueue(int s) : maxsize(s+1) { q=new int(maxsize原创 2015-09-12 22:04:10 · 786 阅读 · 0 评论 -
C++_KMP算法的实现
#include <iostream>using namespace std;int* getNext(string b){ int len = b.length(); int *next = new int[len+1]; next[0] = next[1] = 0; int j = 0; //j始终表示长度为i-1的字符串的next值,即前一个原创 2015-10-20 22:38:32 · 557 阅读 · 0 评论 -
C++_DFS求连通度
DescriptionBenny has a spacious farm land to irrigate. The farm land is a rectangle, and is divided into a lot of samll squares. Water pipes are placed in these squares. Different square has a differen原创 2016-05-10 22:04:34 · 1178 阅读 · 0 评论 -
C++_FatMouse' Trade(贪心)
DescriptionFatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBean. The warehouse has N rooms. The i-th room contains J[i] p原创 2016-05-14 20:25:04 · 786 阅读 · 0 评论 -
C++_(矩阵)快速幂
#include <iostream>#include <cstdio>using namespace std;const int MOD = 1000;int POW(long long &num);int times;long long N;int main(){ scanf("%d", ×); while(times--) { sca原创 2016-05-14 20:35:59 · 2367 阅读 · 0 评论 -
C++_递归实现汉诺塔
A为存放盘子的塔,B为目标塔,C为辅助塔 算法分为三步 一、将A上n-1个盘子全部放到C塔上 二、将A上剩下的一个盘子放到B塔上 三、将C塔上的盘子全部放到B塔上注:不需要考虑如何移动n-1个盘子递归过程: 首先,将A上n-1个盘子放到C上,然后将A上剩下的一个盘子放到B上,然后可以看成A为辅助塔,B为目标塔,C为放盘子的(B中有一个最大的盘子,但任何盘子都能放到上面,所以可以看做为空),原创 2015-09-10 20:27:24 · 23211 阅读 · 2 评论 -
C++_递归排列产生器
含有n个元素的集合,共有n!中不同的排列。 先取出一个元素,然后将剩下n-1个元素排列,获得一种情况,然后取出另一个元素,将剩下n-1个元素排列,获得第二种情况,然后继续取出元素,直至第n个,而剩下的n-1个排列又可以产生n-1中情况,此时便完成了一次递归,也就是完成n-1的排列问题也就解决了n个元素的排列问题代码#include <iostream>using namespace std;voi原创 2015-09-10 20:55:56 · 683 阅读 · 0 评论 -
C++_vector的使用
cplusplus对vector的描述1、vector包含于 < vector>头文件中2、创建一个vectorvector<int> vec;3、访问vector中的元素cout << vec[i] << endl; //类似数组的访问方式//利用迭代器访问vector<int>::iterator it;for(it = vec.begin(); it != vec.end(); it原创 2015-05-20 18:21:34 · 362 阅读 · 0 评论 -
C++_利用栈进行运算符表达式的运算
一、基本思路: 将输入的表达式转化成后缀表达式,然后对后缀表达式进行运算二、将算式转化为后缀表达式: 1、从左向右读取输入的运算符 2、若为数字将数字写入字符串A中 3、若为运算符,与栈顶的运算符比较优先级 3-1、若栈为空或为‘(’则直接压入栈中 3-2、若优先级高直接压入到栈中 3-3、若优先级低或相等则将栈顶的元素弹出并放入到A中,再与新的栈顶元素比较 4、若为括号 4-1、原创 2015-06-25 18:36:15 · 6635 阅读 · 1 评论 -
C++_运算符重载
一、语法 运算符相当于一个函数,重载运算符类似于重载一个函数,函数具有返回值和参数列表,同理运算符也有,所以重载一个运算符应为返回类型 operator@(参数表)其中 返回类型可以为任意的类型, 一般返回该类 operator是表明重载的是一个运算符 @表示可以被重载的运算符,包括 + - / * % ^ & | ~ ! = < > += -= *= /= %=原创 2015-06-27 18:04:58 · 352 阅读 · 0 评论 -
Qt_套接字
在网上找了好多有关套接字的博客,看了一些代码,复制下来跑的时候总是不出来,然后在QDocument上找到了一个例子程序,就复制下来了。看代码的时候里面用到了好的类,好像是用来保存一个网络设置的,没看懂,然后就吧这部分给删了 = =。 运行的结果 源代码server.h#ifndef SERVER_H#define SERVER_H#include <QDialog>class QLabel原创 2015-07-27 22:19:41 · 3877 阅读 · 0 评论 -
C++_编写动态链接库
动态链接库简介动态链接库(Dynamic Link Library 或者 Dynamic-link Library,缩写为 DLL),是微软公司在微软Windows操作系统中,实现共享函数库概念的一种方式。这些库函数的扩展名是 ”.dll”、”.ocx”(包含ActiveX控制的库)或者 “.drv”(旧式的系统驱动程序)。 动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可原创 2015-08-17 21:54:02 · 13817 阅读 · 0 评论 -
C++_sizeof函数
今天写插入排序用sizeof函数获取数组大小的时候发现与想的有点不同。sizeof用于判断数据类型的长度int main(){ int a[]={1,2,3,4,5,6}; int *b=new int[10]; cout << sizeof(a) << endl; cout << sizeof(b) << endl; return 0;}上面的代码输出结原创 2015-09-10 12:02:42 · 550 阅读 · 0 评论 -
C++_插入排序
#include <iostream>#include <cstdlib>using namespace std;void Sort(int *element,int length){ /*int k = 0; int position=0; for(int i=0; i<length-1; i++) { k=element[i];原创 2015-09-10 12:05:22 · 337 阅读 · 0 评论 -
C++_BFS求最短路径
DescriptionAngel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M <= 200) matrix. There are WALLs, ROADs, and GUARDs in the prison.Angel’s friends wa原创 2016-05-09 21:39:37 · 3082 阅读 · 0 评论