c++
bigjar_W
!!!!!
展开
-
字符串全排列
class Solution28 {public: void Permutation(char *pStr) { if (pStr == NULL) { return; } Permutation(pStr, pStr); }private: //指针pstr指向整个字符串的第一个字符,pbegin指原创 2015-10-17 15:34:45 · 252 阅读 · 0 评论 -
有环链表中寻找到环的起点
用2个辅助指针,第一个指针p1每次走一步,第二个指针p2每次走两步。当p1走到环的起点时走了a步,那么p2肯定在环中,而且走了2a步,距离环的起点是2a-a步。如果p1再走b步与p2相遇,那么就会有这么一个等式a + b = 2 * (a + b) - k * n其中,k就是b在环中走的圈数,n是环的长度。因为相遇时可能p2在环中走了k圈了.上述等式可以转换为下式a + b = k * n这时,把p原创 2015-10-01 23:00:46 · 912 阅读 · 0 评论 -
c/c++ strcpy函数的自己实现
include <assert.h>char * my_strcpy (char *strDest, cosnt char *strSrc) { assert (strSrc != NULL); assert (strDest != NULL); char *address = strDest; while ((*strDest++ = *strSrc++) != '\原创 2015-10-19 16:20:00 · 510 阅读 · 0 评论 -
用循环链表实现数组每隔两个数删除数直到最后一个数
struct node { int data; node next;}int deleteNum(char *arr) { node *head = new node; head->data = 0; head->next = NULL; node *p = head; int i = 0; //建立循环链表并赋值 for (原创 2015-10-19 23:57:24 · 795 阅读 · 0 评论 -
C++中指针和引用的异同
相同点: 都是地址,指针指向一块内存,存的是内存地址内容;引用是某块内存的别名。 不同点: 1.指针从本质上讲是一个存放地址的变量。因此指针指向的地址是可以被改变的。引用是一个别名,具有依赖性。因此引用必须一开始就初始化,并且无法改变。 2.指针可以加const,加了const后指针无法改变。 3.引用是类型安全的,而指针不是。 4.引用不能为空,而指针是可以的。 5“sizeof 引原创 2015-10-20 10:49:20 · 296 阅读 · 0 评论 -
打印字符串所有的子集
char set[4] = "abc"; const int max_set_num = 1 << 3; int i, j, k; for (i = 0; i < max_set_num; i++) { //遍历所有可能的组合,数值从1到2的7次方减1 for (j = 0, k = i; j < 3; j++) { //对于每一个组合,判断二进制位,原创 2015-10-25 06:57:57 · 358 阅读 · 0 评论