![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 5649 阅读 · 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 · 2985 阅读 · 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 · 2229 阅读 · 0 评论 -
暴雪Hash表实现与测试
StringHash.H#ifndef __STRING_HASH_H__#define __STRING_HASH_H__// Definition of MPQHashTablestruct MPQHashTable{ long nHashA; long nHashB; bool bExists;};#define CRYPT_TABLE_LENGTH (256原创 2012-09-19 16:38:24 · 1720 阅读 · 0 评论 -
KMP字符串匹配算法
记号约定及符号说明:F :fullString,S:subStringn = length(F)m = length(S)1. 朴素的字符串匹配算法朴素的模式匹配的基本思想为:从主串F的第一个字符开始和S的第一个字符比较,如果相同则比较两者的后续字符,否则从F的第二个字符开始重新和S的第一个字符比较,以此类推,直到S和F的一个子串相等,则称为匹配成功,否则匹配失败。原创 2012-09-27 21:33:53 · 650 阅读 · 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 · 563 阅读 · 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 · 3732 阅读 · 0 评论 -
Windows/Linux高精度计时器(C++)
/* * Linux/Windows 系统高精度计时器 */#ifndef __LX_TIMER_H__#define __LX_TIMER_H__#ifdef WIN32 #include #elif linux #include #endifclass LxTimer{public: LxTimer(); void start(); double sto原创 2012-05-06 10:10:21 · 3974 阅读 · 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 · 990 阅读 · 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 · 9551 阅读 · 2 评论