![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
FireMicrocosm
这个作者很懒,什么都没留下…
展开
-
字符串匹配算法---KMP算法
字符串匹配问题是计算机编程中一个很常见的问题。最近在学习小甲鱼的数据结构与算法,正好学到字符串匹配的经典算法—KMP算法。在小甲鱼图文并茂的解说下,加上动手实践,基本上弄清了算法的关键所在。该算法的核心在于求取待匹配串的 next 数组,为了更好的解释算法过程。定义一个结构体String,它有两个成员,一个字符型指针变量 str 用来存储字符串,一个整形变量 length 用来存储字符串的长度。1.原创 2015-08-16 18:52:34 · 577 阅读 · 0 评论 -
matlab中调用C代码
转:matlab中调用C代码 (2012-06-11 15:06:56)标签: it 如果我有一个用C语言写的函数,实现了一个功能,如一个简单的函数:double add(double x, double y){return x + y;}现在我想要在Matlab中使用它,比如输入:>> a = add(1.1, 2.2)3.3000要得出以上的结果,那应该转载 2015-09-02 12:12:39 · 1211 阅读 · 0 评论 -
Boost 中的智能指针
这篇文章主要介绍 boost中的智能指针的使用。 内存管理是一个比较繁琐的问题,C++中有两个实现方案: 垃圾回收机制和智能指针。垃圾回收机制因为性能等原因不被C++的大佬们推崇, 而智能指针被认为是解决C++内存问题的最优方案。1. 定义 一个智能指针就是一个C++的对象, 这对象的行为像一个指针,但是它却可以在其不需要的时候自动删除。注意这个“其不需要的时转载 2016-05-26 10:56:44 · 595 阅读 · 0 评论 -
快速排序与堆排序
快速排序:稳定的排序,总是将首元素当作枢轴元素,将数组进行划分,然后递归调用,时间复杂度为nlogn;#include using namespace std;templatevoid quickSort(T *array, int n){ if(n<=1) return; T *minArray = new T[n]; T *maxArray= new T原创 2017-10-23 19:12:53 · 503 阅读 · 0 评论 -
冒泡--选择--插入--希尔排序
#include #include #include using namespace std;template void print(const T *A, int n){ for(int i=0; i<n; i++) cout << A[i] << " "; cout << endl;}templatevoid swapN(T &a, T &b){ T tmp原创 2017-10-25 19:03:32 · 469 阅读 · 0 评论 -
理解向量vector的一些实现细节
#include using namespace std;enum ErrorType{ invalidArraySize, memoryAllocFail, indexOutOfRange};const char*ErrorList[]={"invalidArraySize","memoryAllocFail","indexOutOfRange"};template cl原创 2017-10-26 10:15:16 · 784 阅读 · 0 评论