C/C++
yangalbert
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
快速排序算法的递归与非递归实现(C/C++)
#define SWAP( x, y ) { int t=x; x=y; y=t; } // 快速排序算法的递归算法 void quicksort1( int*A, int beg, int end ) { int i, j; int p; if ( beg >= end ) { return; } i = beg;原创 2012-05-06 10:12:18 · 5787 阅读 · 1 评论 -
并查集(不相交集)C++实现
并查集类申明: disjoinset.h文件 #ifndef __DIS_JOIN_SET_H__ #define __DIS_JOIN_SET_H__ #include #include class disjoinset { public: // 构造函数 explicit disjoinset(int n); // find操作 int find(int x) co原创 2013-10-06 17:58:49 · 3061 阅读 · 0 评论 -
[C++]string到double,float,int的转换
// 为实现模板函数分离编译,虚实例化模板函数,使用export无效,当前编译器并未实现export //export template Type string2num(const std::string& s) { std::istringstream is(s); Type num; is >> num; return num; } template dou原创 2013-10-06 18:02:36 · 2299 阅读 · 0 评论 -
暴雪Hash表实现与测试
StringHash.H #ifndef __STRING_HASH_H__ #define __STRING_HASH_H__ // Definition of MPQHashTable struct MPQHashTable { long nHashA; long nHashB; bool bExists; }; #define CRYPT_TABLE_LENGTH (256原创 2012-09-19 16:38:24 · 1780 阅读 · 0 评论 -
KMP字符串匹配算法
记号约定及符号说明: F :fullString, S:subString n = length(F) m = length(S) 1. 朴素的字符串匹配算法 朴素的模式匹配的基本思想为:从主串F的第一个字符开始和S的第一个字符比较,如果相同则比较两者的后续字符,否则从F的第二个字符开始重新和S的第一个字符比较,以此类推,直到S和F的一个子串相等,则称为匹配成功,否则匹配失败。原创 2012-09-27 21:33:53 · 707 阅读 · 0 评论 -
堆排序
// 堆排序 void percolateDown(int* A, int i, int N); void HeapSort(int *A, int Len) { // build heap for ( int i = Len / 2; i >= 0; --i ) { percolateDown(A, i, Len-1); } // move max to the end for原创 2012-09-04 14:15:11 · 616 阅读 · 0 评论 -
归并排序:数组和单链表实现
1. 数组的归并排序 // 归并排序的递归调用 void mergeSort(int* A, int beg, int end, int* B) { if ( beg >= end ) { return; } int mid = (beg + end ) / 2; mergeSort( A, beg, mid, B); mergeSort( A, mid+1, end, B)原创 2012-09-03 13:29:54 · 3782 阅读 · 0 评论 -
Windows/Linux高精度计时器(C++)
/* * Linux/Windows 系统高精度计时器 */ #ifndef __LX_TIMER_H__ #define __LX_TIMER_H__ #ifdef WIN32 #include #elif linux #include #endif class LxTimer { public: LxTimer(); void start(); double sto原创 2012-05-06 10:10:21 · 4061 阅读 · 1 评论 -
若干常用(内部)排序算法的总结
实现代码中会出现宏 typedef int DataType; #define SWAP( A, B ) {DataType x = A; A = B; B = x;} 1. 插入排序算法 类似数学归纳法的描述: ① 起始时A[beg]的元素位置不变(此时A[beg]这一个元素已经有序) ② 假设A[beg]..A[i](beg 将①②结合可得到插入排序的伪代码: f原创 2012-05-06 11:14:39 · 1050 阅读 · 0 评论 -
C++字符串切分: split实现
std::vector split(const std::string& s, const std::string& delim) { std::vector elems; size_t pos = 0; size_t len = s.length(); size_t delim_len = delim.length(); if (delim_len ==原创 2013-10-06 18:00:27 · 9637 阅读 · 2 评论
分享