那些年我们一起学算法
老凤声
笃学不倦,天道酬勤
展开
-
快速排序
/**************************************************/ /* 函数功能:快速排序算法 */ /* 函数参数:结构类型table的指针变量tab */ /* 整型变量left和right左右边界的下标 */ /* 函数返回值:空原创 2014-03-14 11:27:50 · 617 阅读 · 0 评论 -
指针的指针
话说这玩意真不好理解,一般也不会用到,不过还是拿出来看看,叔到用时方恨嫂啊! 我们从一个例子来看它。 1.一个常见的错误 这个错误在第三篇局部变量的返回里就有讲过了。详见http://blog.csdn.net/jackystudio/article/details/11523353 因为系统会自动拷贝一个char* p,然后给p分配空间,调用结束后p指向的空间转载 2014-03-14 21:56:24 · 883 阅读 · 2 评论 -
手撕KMP
二话不说,先上代码,没有代码的说算法,都是耍流氓。 #include<stdio.h> #include<stdlib.h> #include<assert.h> #include<string.h>/* *kmp 算法i不用回退,j回退到一个合理的位置 */ void getNext(int *next, const char *sub){ next[0] = -1; next[1原创 2016-11-04 11:21:58 · 592 阅读 · 0 评论 -
Longest Substring Without Repeating Characters
给定一个字符串,找出其没有重复字符的最大子序列的长度。 例如,“abcabcbb”的无重复字符的最大子序列是“abc”,它的长度是 3.“bbbbb”的最大子序列是“b”,它的长度是 1。思路: 1.创建一个数组boolean[] exist = new boolean[256];成员都为false; 2.声明变量head,index,maxlen; 3.index用来控制大循环,就是从0原创 2016-11-07 20:54:54 · 304 阅读 · 0 评论