- 博客(34)
- 资源 (6)
- 收藏
- 关注
原创 C++标准模板库 迭代器 iterator 详解(二)
迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围。迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。但是,迭代器不仅仅是指针,因此你不能认为他们一定具有地址值。例如,一个数组索引,也可以认为是一种迭代器。迭代器有各种不同的创建方法。程序可能把迭代器作为一个变量创建。一个STL容器类可能为了使用一个特定类型的数据而创建一个迭代器。作为指针,必须能够使用*操作符类获取
2013-05-18 21:56:08 3057
原创 C++标准模板库 迭代器 iterator 详解(一)
#include #include #include #include #include //copyusing namespace std;template inline void print (const T& coll, const char* optcstr=""){ typename T::const_iterator pos; std::cout
2013-05-17 16:54:20 2614
原创 C++ 读书笔记之 getline与cin.getline的区别
两个函数虽然看上去名称相同都是getline,但它们却分属于不同的类中的成员函数。cin.getline(arr,20);的getline是输入流对象的成员函数,即istream::getline,使用时需头文件#includegetline(cin,str);的getline是string类对象的成员函数,即string::getline,使用时需头文件#include
2013-05-17 14:06:24 2933
原创 C++读书笔记之 文件与流 文件读写操作 通过指针获取文件大小
在本例程中不仅概括了文件的基本读写操作,如何获取文件的大小,还牵扯到getline和cin.getline的区别,及string类字符串如何转换为c风格字符串的问题,这些问题将在下一篇博文中介绍。首先先看程序运行结果,运行结果如下:/**********************************程序运行结果如下:Writing to the fileEnter your na
2013-05-17 13:00:22 1567
原创 C++读书笔记之 关系运算符重载 大于号> 小于号< 等于号== 重载 overload
public: static const double absError=0.0000001; static bool IsEqual(double a, double b) { if (a==b) return true; if (fabs(a-b)
2013-05-16 16:10:13 28144
原创 C++读书笔记之 赋值运算符= 重载 前缀自减运算符--重载 求负运算符- 重载
/**重载赋值运算符 = **/ void operator=(const Distance &D ) { feet = D.feet; inches = D.inches; } /**重载负号运算符 - **/ Distance operator-() {
2013-05-16 14:58:59 1328
原创 C++读书笔记之 下标运算符 [] 重载 运算符重载
The subscript operator [] is normally used to access array elements. This operator can be overloaded to enhance the existing functionality of C++ arrays.Following example explain how a subscript o
2013-05-16 12:30:36 1329
原创 C++读书笔记之 单目运算符重载 自增++自减——操作符重载
程序运行结果如下:*****************************************now the time is :Hour: 22 Minute:57test prefix ++:Hour: 22 Minute:58Hour: 22 Minute:59Hour: 23 Minute:0Hour: 23 Minute:1Hour: 23 Min
2013-05-15 23:28:39 1168
原创 C++读书笔记之 单目运算符重载 取负符号 - 重载
#include using namespace std;class Distance{ private: double feet; // 0 to infinite double inches; // 0 to 12 public: // required constructors D
2013-05-15 23:12:04 4233
原创 C++ 读书笔记之 重载 Overloading
C++ allows you to specify more than one definition for a function name or an operator in the same scope, which is called function overloading and operator overloading respectively.An overloaded
2013-05-15 23:01:47 1604
原创 C++读书笔记之 继承 inheritance
One of the most important concepts in object-oriented programming is that of inheritance. Inheritance allows us to define a class in terms of another class, which makes it easier to create and maintai
2013-05-15 22:44:19 2368
原创 c++ 标准模板库 STL 算法之 for_each 函数的使用用法详解
std::for_eachtemplate Function for_each (InputIterator first, InputIterator last, Function fn);Apply function to rangeApplies function fn to each of the elements in the range[first,las
2013-05-15 17:39:31 6922
原创 C++ 标准模板库STL 优先级队列 priority_queue 使用方法与应用介绍(一)
priority_queuePriority queues are a type of container adaptors, specifically designed such that its first element is always the greatest of the elements it contains, according to some strict weak or
2013-05-15 16:20:09 3161
原创 C++ 标准模板库STL 队列 queue 使用方法与应用介绍(一)
queuequeue模板类的定义在头文件中。与stack模板类很相似,queue模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque类型。定义queue对象的示例代码如下:queue q1;queue q2;queue的基本操作有:入队,如例:q.push(x); 将x接到队列的末端。出
2013-05-15 15:31:50 94125
原创 C++ 标准模板库学习之 string 类 详解 (一) 将一个句子中每个单词的单词字母顺序翻转 关于npos find_first_not_of find_first_of getline
先看例子程序:#include #include using namespace std;void test_getline(void){ string s1; cout as the delimiter): "<<endl; getline(cin,s1, ' '); cout << "You entered: " << s1 << endl; co
2013-05-15 10:07:50 2199 1
原创 STL vector 使用方法简介 (三)
示例程序:#include #include #include #include #include using namespace std;int main(){ // create empty vector for strings vector sentence; // reserve memory for five elements to avoi
2013-05-14 14:50:33 1368
原创 C++ 标准模板库STL multimap 使用方法与应用介绍(一)
示例程序如下 实现字典功能:#include #include #include #include using namespace std;int main(){ // define multimap type as string/string dictionary typedef multimap StrStrMMap; // create emp
2013-05-14 13:30:47 6525
原创 C++ STL MAP 使用方法与应用介绍(四)
#include #include #include using namespace std;int main(){ /* create map / associative array * - keys are strings the period of the school * - values are strings the name of the s
2013-05-14 13:07:49 1298
转载 C++ 标准模板库STL set 使用方法与应用介绍(三)
STL-set简介set是一种随机存储的关联式容器,其关键词(key)和元素(value)是同一个值。set之中所有元素互不相同。set是通过二叉查找树来实现的。创建创建一个空的set 1: setint> s0 ;创建一个带大于比较器的set, 默认是小于比较器less 1: setint, greaterint>> s1 ;用数组初始化一个set
2013-05-14 09:38:50 3853
原创 C++ 标准模板库STL set 使用方法与应用介绍(二)
1.关于setC++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、查找等。让用户
2013-05-14 08:46:00 2518
原创 C++ 标准模板库STL set 使用方法与应用介绍(一)
这次先看例子程序:#include #include #include #include using namespace std;int main(){ /* type of the collection: * - no duplicates * - elements are integral values * - descendin
2013-05-14 08:41:39 9834
原创 C++ 标准模板库STL 双端队列 deque 使用方法与应用介绍(一)
Deque总览 deque和vector一样都是标准模板库中的内容,deque是双端队列,在接口上和vector非常相似,在许多操作的地方可以直接替换。 Deque成员函数函数描述c.assign(beg,end)c.assign(n,elem)将[beg; end)区间中的数据赋值给c。将n个el
2013-05-14 07:55:46 8696
原创 C++ 标准模板库STL 双向链表 list 使用方法与应用介绍(一)
STL中的list就是一双向链表,可高效地进行插入删除元素。List 是C++标准程式库中的一个类,可以简单视之为双向连结串行,以线性列的方式管理物件集合。list 的特色是在集合的任何位置增加或删除元素都很快,但是不支持随机存取。list 是C++标准程式库提供的众多容器(container)之一,除此之外还有vector、set、map、…等等。list 以模板方式实现(即泛型),可以
2013-05-13 21:55:37 13576
原创 C++文件读写操作(四)读取文件数据到临时数组
相关文章C++文件读写操作(一)将字母表写入TXT文本文件 C++文件读写操作(二)逐字符读取文本和逐行读取文本 C++文件读写操作(三)如何统计文本的行数及如何读取文件某一行内容 C++文件读写操作(四)读取文件数据到临时数组//读取文件数据到临时数组#include #include #include using n
2013-05-13 18:23:31 21220
原创 C++文件读写操作(三)如何统计文本的行数及如何读取文件某一行内容
相关文章C++文件读写操作(一)将字母表写入TXT文本文件 C++文件读写操作(二)逐字符读取文本和逐行读取文本 C++文件读写操作(三)如何统计文本的行数及如何读取文件某一行内容 C++文件读写操作(四)读取文件数据到临时数组 //如何统计文本的行数及如何读取文件某一行内容:#include #in
2013-05-13 18:22:25 47201 2
原创 C++文件读写操作(二)逐字符读取文本和逐行读取文本
相关文章C++文件读写操作(一)将字母表写入TXT文本文件 C++文件读写操作(二)逐字符读取文本和逐行读取文本 C++文件读写操作(三)如何统计文本的行数及如何读取文件某一行内容 C++文件读写操作(四)读取文件数据到临时数组 #include #include using namespace std;void testBy
2013-05-13 18:21:03 69413 3
原创 C++文件读写操作(一)将字母表写入TXT文本文件
fstream提供了三个类,用来实现c++对文件的操作。(文件的创建、读、写)。ifstream -- 从已有的文件读 ofstream -- 向文件写内容 fstream - 打开文件供读写 文件打开模式: ios::in 读ios::out 写ios::app 从文件末尾开始写ios::binary 二进制模式ios::nocreate 打开
2013-05-13 18:17:02 18869 1
原创 如何编程解决百度面试题100盏灯问题
百度100盏灯问题Q:有100盏灯泡,第一轮点亮所有电灯,第二轮每两盏灯熄灭一盏,即熄灭第2盏,第4盏,以此类推,第三轮改变编号为3的倍数的电灯,第3盏,第6盏,如果原来那盏灯是亮的,就熄灭它,如果原来是灭的,就点亮它,以此类推,直到第100轮。问第100结束后,还有多少盏灯泡是亮的?A:1.对于每盏灯,拉动的次数是奇数时,灯就是亮着的,拉动的次数是偶数时,灯就是关
2013-05-12 21:43:51 6706 4
原创 C++中控制浮点数精度函数setprecision使用方法
函数原型:setprecision(streamsize _Prec);功能:使用setprecision(n)可控制输出流显示浮点数的数字个数。C++默认的流输出数值有效位是6参数:streamsize _Prec 浮点数的精度返回值:The manipulator returns an object that, when extracted from or inse
2013-05-12 21:41:28 10416
原创 STL学习之插入排序的STL实现
直接插入排序的C++实现及随机数组的产生方法这是之前的插入排序的例子程序,改用STL实现后暂时并没有体现vector的优势,以下是插入排序的STL实现#include#include#include#include#include#includeusing namespace std;// 生成元素为随机数的数组template void Random(vecto
2013-05-12 17:16:34 2953
原创 试除法质数打表方法的逐步改进--经典面试题
试除法质数打表方法的逐步改进--经典面试题参考博客:点击打开链接求质数算法的N种境界 - 试除法和初级筛法http://blog.csdn.net/wdqfzy/article/details/7034784◇需求1请实现一个函数,对于给定的整型参数 N,该函数能够把自然数中,小于 N 的质数,从小到大打印出来。比如,当 N = 10,则打印出2
2013-05-07 23:07:57 2013
原创 2013华为实习生上机考试试题(一)华为机试 请设计函数int getTest(char input[]) ,检测输入字符串中是否包含连续的或者离散的test,test只出现一次
题目概述:请设计函数,检测输入字符串中是否包含连续的或者离散的test,test只出现一次。函数原型:int getTest(char input[]) 函数说明:input为输入的字符串,如果出现连续的test则返回1,如果出现离散的test则返回2,如果没有出现test或者出现的次数和顺序不正确,则返回0测试样例:char in[][30]= {
2013-05-05 11:32:35 2638
原创 希尔排序(shell排序)的详细解说,对插入排序算法的改进
希尔排序是D.L.Shell于1959年提出来的一种排序算法,在这之前排序算法的时间复杂度基本都是O(n2)的,希尔排序算法是突破这个时间复杂度的第一批算法之一。插入排序的效率在某些时候是很高的,比如,记录本身就是基本有序的,只需要少量的插入操作,就可以完成整个记录集的排序工作,此时直接插入很高效。还有就是记录数比较少时,直接插入的优势也比较明显。可问题在于,两个条件本身就过于苛刻,现实中记录少或
2013-05-02 22:27:29 2089
原创 for循环各部分的执行顺序
最近在考虑for循环第三个参数是++i or i++,如果清楚了for循环各部分的执行顺序的话,其实这个问题无关紧要。因为第三个参数的变化是留给第二个判断语句判断的,所以++i or i++ 的结果都是增一,判断结果一样。for循环的执行顺序是:初始化--判断--函数体——然后for循环的第3句--判断——函数体---for循环的第三句--判断……for(1; 2; 3
2013-05-01 21:19:53 5477
如何成功运行Apache Mahout的Taste Webapp-Mahout推荐教程-Maven3.0.5-JDK1.6-Mahout0.5
2016-11-23
安卓二维码生成与扫描完美解决方案
2016-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人