c++
文章平均质量分 82
名字到底多长
算法题来自大神的博客:http://blog.csdn.net/v_JULY_v?viewmode=contents
展开
-
c++ 语法
预处理器编译指令 #include "xx.h"#include 编译的时候这些会被头文件替换掉,c++会自动搜索;引号从当前工程开始搜索 #define INT_MAX 5c风格定义常量,c++替代方式为 const int a = 5;常量定义方式必须是马上初始化,定义不初始化编译器会报错。 #define XXX x+y对应的c++方式为(c风格是直接替换,c++是计原创 2013-07-20 23:16:42 · 814 阅读 · 0 评论 -
笔试or面试忘记or不懂的东西
c++ reinterpret_cast可以转换任意一个32bit整数,包括所有的指针和整数。可以把任何整数转成指针,也可以把任何指针转成整数,以及把指针转化为任意类型的指针,威力最为强大!但不能将非32bit的实例转成指针。总之,只要是32bit的东东,怎么转都行! char a[0],a的sizeof长度是0. java sleep是主动唤醒自原创 2013-09-13 15:25:26 · 666 阅读 · 0 评论 -
题
旋转数组的打印 #include using namespace std; /* 打印环形矩阵:输入n为完全平方数 一个一个打印很明显不可以 因此先存储所有的数字再打印 */ void print() { int a[4][4] = {{0},{0},{0},{0}}; int count = 1; int rowS = 0,rowE =原创 2013-09-08 16:29:19 · 560 阅读 · 0 评论 -
二维数组的动态规划与LCS
点击打开链接 最长共同字串(LCS): 抛弃习惯性的从头开始比较的想法,从最尾开始比较 LCS(Xm,Yn) = LCS(Xm-1,Yn-1)+1 if(xm=yn) or LCS(Xm,Yn) = MAX{LCS(Xm-1,Yn),LCS(Xm,Yn-1)} if(xm!=yn) 递归代码: #include #include using namespace std;原创 2013-09-07 14:53:11 · 1944 阅读 · 0 评论 -
c++ new+二维数组方式
C++编程语言中有一种叫做new的二维数组,它的应用方式比较灵活,可以有多种方法来帮助我们实现一些特定功能。在这里我们将会总结几种C++二维数组new的应用方式,来进行逐一的点评。 C++二维数组new应用方式一: A (*ga)[n] = new A[m][n]; ... delete []ga; 缺点:n必须是已知 优点:调用直观,连续储存,程序简洁(经过测试,析构函数能正转载 2013-09-08 16:27:28 · 734 阅读 · 0 评论 -
收集的一些题or结论
杂七杂八 两条单链表如果交叉的话不可能一条有环一条没有环。 已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10() 随机1~10 (rand7()-1)*7得到一个离散整数集合A={0,7,14,21,28,35,42},其中每个整数的出现概率也都是1/7。而rand7()得到的集合B={1,2,3,4,5,6,7}中每个整数出现的概率也是1/7。显原创 2013-08-22 09:30:55 · 744 阅读 · 0 评论 -
简单的题目6
#include using namespace std; /* 10001长的数组中存放1-1000的数字,有个唯一重复的,找出重复的数字 */ /* 这1001个数最后结果为从0开始的一个环,剩下的数要么自身映射到自身,要么一个圆环 */ void findRepeat(int a[]) { /* 0必然在环内 */ int index原创 2013-08-15 10:53:14 · 480 阅读 · 0 评论 -
简单的题目5
//在O(1)时间内删除指定的节点 struct ListNode { int m_nkey; ListNode* m_pNext; }; void deleteNode(ListNode* pListHead,ListNode* pToBeDeleted) { if(pToBeDeleted->m_pNext) { ListNode* p原创 2013-08-11 10:27:13 · 482 阅读 · 0 评论 -
简单的题目4
#include using namespace std; /* 反向打印链表,其实就是个递归,没啥稀奇的 */ struct Node { int value; Node *next; }; Node* createLinkedList(int *,int); void printBackward(Node*,Node*); void clearLinkedList(Node原创 2013-08-08 20:13:03 · 428 阅读 · 0 评论 -
队列
#include using namespace std; /* 存放的是复制的值, 和栈反过来 */ template class LinkedQueue { private: struct Node { T t; Node* next; }; private: N原创 2013-08-09 18:24:39 · 446 阅读 · 0 评论 -
排序C++版
#include using namespace std; template class Sort { public: void insertionSort(T a[],int n);//插入排序 void shellSort(T a[],int n);//希尔排序 void mergeSort(T a[],int n);//归并排序原创 2013-08-09 11:13:01 · 565 阅读 · 0 评论 -
简单的题目2
实现double power(double base,int exponent),无需考虑溢出 double power(double base, int exponent) { double result = 1; for(int i=0;i<exponent;i++) { result = result*base; } return re原创 2013-08-03 10:55:46 · 573 阅读 · 0 评论 -
字符串全排列
如果没有重复字符: #include using namespace std; void swap(char*,char*); void permutation(char*,char*); int main() { char a[] = "abcd"; permutation(a,a); cin.get(); } void swap(char* a,char *b) {原创 2013-08-03 10:01:50 · 739 阅读 · 0 评论 -
简单的题目1
有一个整数数组,请求出两两之差绝对值最小的值 排序后相减求最小值 #include abs(-1) 写一个函数,检查字符是否是整数,如果是,返回其整数值 //string.c_str()才能传递给s,返回值const long long checkNum(const char* s) { if(!s) return 0; int result = 1;原创 2013-08-01 19:49:39 · 544 阅读 · 0 评论 -
那什么。。。。Google炮灰纪念
#include using namespace std; void sort(int a[],int n) { int odds[2000] = {0}; int evens[2000] = {0}; for(int i=0;i<n;i++) { if(a[i]%2==0) evens[a[i]+10原创 2013-09-23 10:49:10 · 579 阅读 · 0 评论