C++
文章平均质量分 54
fuliguo
这个作者很懒,什么都没留下…
展开
-
C++模板学习(转载)
1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.int max(int x,int y);{return(x>y)?x:y ;}//函数2.float转载 2015-05-15 15:50:21 · 338 阅读 · 0 评论 -
sort和qsort函数的用法
STL里有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头文件 #include 这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是说,排序的区间是[a,b)。简单来说,有一个数组int a[100],要对从a[0]到a[99]的元素进行排序,只要写sort(a,a+100转载 2015-06-15 23:37:22 · 355 阅读 · 0 评论 -
ACM OJ系列之一——数据输入输出
ACM OJ系列之一——数据输入输出原创 2015-06-24 17:23:23 · 2272 阅读 · 0 评论 -
istringstream, ostringstream, stringstream用法示例
#include #include #include using namespace std;int main(){ int a, b; string Str1, Str2; string Input = "abc 123 bcd 456 sss 999"; //ostringstream 对象用来进行格式化的输出,可以转载 2015-06-12 15:17:02 · 347 阅读 · 0 评论 -
STL模板类--数据结构与算法
STL提供了一些模板类,实现了《数据结构》中的一些数据结构类型在写代码时用到栈,队列等数据结构时可以充分利用STL模板类,会发现特别好用。想起C语言中用数组实现栈和队列,简直就是噩梦。C++是世界上最好的语言。。。(just kidding !!!)顺序容器:动态数组vector;deque链表list;关联容器:set/multiset有序值;map/multimap原创 2015-07-07 22:17:46 · 821 阅读 · 0 评论 -
含通配符的字符串匹配问题
题目: 给定两个字符串,求字符串2,在字符串1中的最先匹配结果。字符串2中 可以存在’*’符号,且该符号可以代表任意字符,即字符串2中存在通配符。 例如:输入:abcdefghabef,a*f 输出:abcdef#include<iostream>原创 2015-06-30 16:07:00 · 2309 阅读 · 0 评论 -
全排列——火车进站问题(华为OJ)
今天发现一个非常好用的函数next_permutation(),利用这个函数这以很容易的列出一组数据的所有排列组合。利用全部排列解决了火车进站问题。原创 2015-06-29 19:39:20 · 1739 阅读 · 0 评论 -
cin的错误处理
深入了解cin错误处理机制,深入了解cin.clear/cin.ignore/cin.good/cin.fail等函数 在前一节中我们有几个例子中提到了cin函数出错,以致不再执行读操作(程序8)。而且我们经常会看到程序中会出现cin.clear(),cin.ignore(), cin.fail()等函数。这些函数都是与cin的错误处理有关的。这一节我们来分析一下cin的错误处理机制,并转载 2015-06-22 15:34:54 · 1311 阅读 · 0 评论 -
cin深度解析
cin很多初学者都认为cin函数是一个很简单的函数,其实不然!cin函数有很多需要了解的知识(比如:cin的返回值是什么,cin提供了哪些成员函数且分别是什么作用,如cin.clear(), cin.ignore(), cin.fail(), cin.good()等等),如果没有很好的掌握,在使用的时候很可能会出问题却不知其原因!而且很多人也确确实实遇到过不少问题,以下是几个简单的例子:转载 2015-06-22 15:32:16 · 660 阅读 · 0 评论 -
STL中的常用算法
一、非变异算法是一组不破坏操作数据的模板函数,用来对序列数据进行逐个处理、元素查找、子序列搜索、统计和匹配。非变异算法具有极为广泛的适用性,基本上可应用与各种容器。1查找容器元素find它用于查找等于某值的元素。它在迭代器区间[first,last)(闭开区间)上查找等于value值的元素,如果迭代器i所指的元素满足*i=value,则返回迭代器i;未找到满足条件的元素,返转载 2015-06-21 23:28:17 · 494 阅读 · 0 评论 -
二叉树
完全二叉树可用数组存储,非完全二叉树一般用二叉链表存储。下面主要介绍二叉链表的用法:解决二叉链表问题的一般步骤:1.定义节点结构体,包含需要的变量和左右孩子指针。2.用递归的方法构造二叉树。3.遍历(先序,中序,后序三种)。1.定义节点结构体type struct bnode // 结点类型{ bnode * lchild ; /原创 2015-06-17 11:04:58 · 1249 阅读 · 0 评论 -
void及void指针含义的深刻解析
void的含义void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型。void指针使用规范①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值。例如:int * pint;void *pvoid;pvoid = pint; /* 不过不能 pint= pvoid; */如果要将pvoid赋给其他类型指针,转载 2015-06-15 23:41:50 · 285 阅读 · 0 评论