Brains


Algorithm、Machine Learning、Search、cloud computing
on Cplusplus, STL 队列和栈的学习和使用

STL - deque、queue、stack

最近在刷LeetCode,一直在用C实现上面的算法。但经常遇到题目,需要维护动态二维数组,需要队列、栈、map等数据结构时,用C实现时,需要很长的时间来完成这些数据结构的原型。无奈为了提高效率(偷懒~)决定转型C++解决上面的题目。 std::deque 类的原型 template < class T, class Alloc = allocator<T> > class deque; 它位于deque文件中,先看看它的类的声明。class Alloc = allocator 这句话什么鬼?这可能要涉及到STL六大要素之分配器了,先跳过,以后涉及到再学。 概述 deque是C++的基本容器之一,即双端队列,它可以在两端进行插入和删除操作。不同的库可能有不同的实现方式,但通常以动态数组实现的,deque中的元素存储在不同的chunks。 deque提供的函数与vector相似,但对于在两端的插入和删除操作要比vector更有效率。还有需要注意的是,不像vector,
Read More
on C++基础语法, Cplusplus

C++基础语法

本学期的工程实践基础课选修了C++,因为要考试,顺便把以前学的C++盲点记录一下。这些都是C++的基础知识,涉及一些语法,以及程序设计中易犯的错误。不是概括的包含所有知识点,这只是针对我个人的盲点.... 2 从C到C++ 2.1 命名空间 使用命名空间(namespace)时,结尾处不能添加分号。 2.2 操作符 使用不带参数的操作符,如(hex, endl),必须包含头文件iostream;而使用带参数的操作符,如(setfill,setw),则需要头文件iomanip。 setw操作符,一次设置,一次有效;而其他操作符,一旦设置,一直有效,持续到下次被设置为止。 加fixed之后再加setprecision(n),使得小数部分精确到n位。 2.3 强制类型转换 static_cast: 最常用的强制类型转换,将一种数据类型转换到另一种数据类型,并使用任何合理的方式。
Read More