![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
蜡笔大龙猫
这个作者很懒,什么都没留下…
展开
-
qsort与bsearch
qsort包含在头文件中,此函数根据给的比较条件进行快速排序,排序之后的结果仍然放在原数组中,需要自己写一个比较函数。函数原型:void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) );base :数组起始地址num原创 2011-11-10 09:12:21 · 1621 阅读 · 0 评论 -
STL简介
什么是STL? STL就是Sandard Template Library,标准模板库,所有C++编译器和所有操作系统平台都支持的一种库,不需要了解底层是怎么样实现的,只要掌握了使用就可以。 STL的优点在于通用性,与C++的OOP特性无关。模板是什么? 模板是C++中实现代码重用机制的一种工具,可以实现类型参数化,把类型定义为参数。函数模板和类模板允许用原创 2011-11-30 22:06:47 · 1506 阅读 · 0 评论 -
STL----map
#include 关联容器,可以通过一个key快速指定一个value。 模板类map和multimap,用有序二叉树来存储类型为 pair 的元素对序列(这是与set的区别之处),map中的key是唯一的,multimap中得key允许重复。四个参数: 例如:map m;插入操作:m[key] = value;m.insert( make原创 2011-11-30 23:07:56 · 464 阅读 · 0 评论 -
STL----set
#include set集合中的元素按照一定的顺序排列。set和multiset的区别就是键值是否唯一。模板参数:template 第一个参数key是键值类型,第二个参数是为排序值而定义的比较函数的类型,第三个参数是被实现的存储分配符的类型。在有些编译器的具体实现中,第三个参数可以省略。第二个参数使用了合适形式的迭代器为键定义了特定的关系操作符,并用来在容原创 2011-11-30 23:21:07 · 1230 阅读 · 0 评论 -
从一个微型例子看“C/C++的内存分配机制”和“数组变量名与指针变量名”
转自:http://www.cnblogs.com/welkinwalker/archive/2011/01/05/1926203.html内存分配方式有三种: 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。在栈上创建。 在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元转载 2012-03-08 10:31:47 · 721 阅读 · 0 评论 -
STL----vector与string
#include 向量容器模板类,类似于数组,采用顺序存储,相当于动态数组。两个参数: 构造方法:vector s;vector s(n);vector s( first , last );基本操作:s[i];s.front();//返回首元素s.back();//返回尾元素s.push_back();s.size();s.empty();原创 2011-11-30 22:35:19 · 751 阅读 · 0 评论 -
scanf()、gets()、getchar()的区别
首先介绍输入操作的原理:程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时()即按下Enter键后)会将输入的数据存入输入缓冲区。当键盘输入一串字符串时,例如“Hello World!”,键入回车,将“Hello World!”存到输入缓冲区中,包括最后的回车。scanf()从输入缓冲区中读取值,遇到回车、空格、TAB就会自动停止,后面的字符会自动停留原创 2011-11-09 17:08:02 · 578 阅读 · 0 评论 -
long long与_int64数据类型
常用的整数类型范围:long 和 int 类型表示 [-2^31 , 2^31 ) , 即 2147483648 ~ 2147483647unsigned 类型表示 [ 0 , 2^32 ),即 0 ~ 4294967295对于更大的数,可以使用C++的64位扩展,但是不同的编译器对64位扩展不同VC6.0的64位整数叫做__int64、unsigned __int64,其范围原创 2011-11-20 16:33:25 · 4112 阅读 · 0 评论 -
STL----stack与queue
# include 不深入研究细节,只讨论基本使用。两个参数: stack s; 例如:stack s1;stack s2;基本操作:s.push(x); //入栈s.pop(); //出栈,只删除,不返值s.top(); //访问栈顶s.empty(); //判断栈空s.size(); //访问元素个数#include参原创 2011-11-30 22:52:21 · 1056 阅读 · 0 评论 -
STL----list
#include 链表,只能顺序访问,不支持随即访问,因此不支持下标运算符operator[ ]。构造函数: list l1;函数操作: list仍然包涵了erase(),begin(),end(),insert(),push_back(),push_front()这些基本函数。 其他函数: merge():合并两个排序列表; sp原创 2011-11-30 23:15:15 · 1182 阅读 · 0 评论 -
高精度运算类bign
#include #include #include #include #include #include #include #include using namespace std;const int maxn = 1000;struct bign{ int len, s[maxn]; //s是逆序存储 bign(){ m原创 2011-12-13 16:26:41 · 2222 阅读 · 1 评论 -
malloc/free与new/delete的区别
转自:http://blog.csdn.net/hackbuteer1/article/details/6789164#comments相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求转载 2012-08-29 23:00:41 · 631 阅读 · 0 评论 -
LDA理解以及源码分析(二)
LDA系列的讲解分多个博文给出,主要大纲如下:LDA相关的基础知识 什么是共轭multinomial分布Dirichlet分布LDA in text LAD的概率图模型LDA的参数推导伪代码GibbsLDA++-0.2源码分析Python实现GibbsLDA参考资料GibbsLDA++-0.2源码分析GibbsLDA++-0.2工具包下载地址为:下载工具包里docs文件夹里有原创 2015-12-09 17:31:13 · 6749 阅读 · 1 评论