c++
文章平均质量分 90
taotaoahui
这个作者很懒,什么都没留下…
展开
-
2.2.1 如下为类型CMyString 的声明, 请为该类型添加赋值运算符函数
/* AssignmentOperator Definition Created by taotao man on 2015-7-29 brief: 题目:如下为类型CMyString 的声明, 请为该类型添加赋值运算符函数 // 修改记录 add SetA(); change GetA();*/#include "stdafx.h"#include class CMy转载 2015-07-29 11:15:58 · 526 阅读 · 0 评论 -
实现一个单链表的建立、测长、打印,插入,排序,逆置
/* taotao Definition Created by taotao man on 2015-9-30 brief: 实现一个单链表的建立、测长、打印,插入,排序,逆置 // 修改记录 date: add SetA(); set GetA();*/#include "stdio.h"#include#include // conio是Console Input/O原创 2015-10-09 08:58:33 · 583 阅读 · 0 评论 -
删除单链表的头元素;单链表,只是遍历一次,求出中间节点
/* main Definition Created by taotao man on 2015-10-9 brief: 删除单链表的头元素 // 修改记录: add SetA(); Change GetA();*/#include "stdio.h"#include typedef struct student{ int data; struct student *原创 2015-10-09 10:02:34 · 629 阅读 · 0 评论 -
EOF在C++中的定义为:const int EOF = -1;
它这么定义是有道理的:举个例子来说int ch; //注意:这里定义了ch是int型的,而不是char型的while((ch = cin.get()) != EOF){cout }cin.get()是读取输入流中的一个字节,但是时常忽略的,也是必须注意的是:那些C++的设计者们将cin.get()设计成返回int型,而不是char型,这不是令人挺奇怪的吗?感觉char转载 2016-02-19 19:31:16 · 723 阅读 · 0 评论 -
struct和typedef struct彻底明白了
http://www.cnblogs.com/qyaizs/articles/2039101.htmlstruct和typedef struct分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu;转载 2016-02-19 22:02:41 · 394 阅读 · 1 评论 -
myself template
#include using namespace std;//#include#include"Solution.h"//class Solution//{//public:// int MinChange(vector &array, int len)// {// if(len < 1)// return 0;// //// int count = 0;/原创 2016-04-11 15:33:49 · 285 阅读 · 0 评论 -
& <<左移运算符 >>右移运算符 n&=(n -1)
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。C++请问一下y=t&1这个是什么意思呢单个的&是位操作“与”。y=t&1就是把t的二进制与1进行与操作,把结果赋给y,可能的结果只有0和1。一般用于判断一个数的奇偶性(因为二进制表示的十进制的原创 2016-04-09 11:08:16 · 532 阅读 · 0 评论 -
C++ 构造双向链表的实现代码
#includeusing namespace std;templatestruct Node{ Node *pre; T data; Node*next;};template class DoubleLinkedList{public: DoubleLinkedList() { Node *q = new Node; if(q == NULL) {转载 2016-04-26 10:50:53 · 800 阅读 · 0 评论 -
函数指针 指针函数 指针的指针 指向指针数组的指针
一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函转载 2016-04-10 17:43:25 · 354 阅读 · 0 评论 -
字符数组的赋值
http://blog.chinaunix.net/uid-26404201-id-3212247.html定义一个数组char a[10];怎么给这个数组赋值呢?1、定义的时候直接用字符串赋值char a[10]="hello";注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!2、对数组中字符逐个赋值转载 2016-04-11 09:11:06 · 538 阅读 · 0 评论 -
C#之重载与覆盖
http://www.cnblogs.com/jiajiayuan/archive/2011/09/15/2177051.htmloverload:重载指的是同一个类中有两个或多个名字相同但是参数不同的方法,(注:返回值不能区别函数是否重载),重载没有关键字。override:重写是指子类对父类中虚函数或抽象函数的“覆盖”(这也就是有些书将过载翻译为覆盖的原因),但是这种“覆盖”和用n转载 2016-04-15 09:18:24 · 530 阅读 · 0 评论 -
C++ STL编程轻松入门(1)
http://tech.163.com/05/0613/10/1M4EA0US00091589.html作为C++标准不可缺少的一部分,STL应该是渗透在C++程序的角角落落里的。STL不是实验室里的宠儿,也不是程序员桌上的摆设,她的激动人心并非昙花一现。本教程旨在传播和普及STL的基础知识,若能借此机会为STL的推广做些力所能及的事情,到也是件让人愉快的事情。转载 2016-04-15 10:30:01 · 417 阅读 · 0 评论 -
堆和栈的区别(转过无数次的文章)
http://blog.csdn.net/hairetz/article/details/4141043一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) —转载 2016-04-15 15:46:43 · 381 阅读 · 0 评论 -
C++ STL编程轻松入门2
http://tech.163.com/05/0613/10/1M4EA0US00091589_2.html 正如前面所提到的,在STL的背后蕴含着泛型化程序设计(GP)的思想,在这种思想里,大部分基本算法被抽象,被泛化,独立于与之对应的数据结构,用于以相同或相近的方式处理各种不同情形。这一思想和面向对象的程序设计思想(OOP)不尽相同,因为,在OOP转载 2016-04-29 09:56:41 · 389 阅读 · 0 评论 -
c++ 实现顺序表类(初始化、输入、插入与删除)<<计算机软件技术基础 徐士良>>
/* c++ 实现顺序表类(初始化、输入、插入与删除)>*/#includeusing namespace std;templateclass sq_LList{private: int mm;//容量 int nn;//长度 T *v; // 顺序表存储控件首地址public: sq_LList(){mm = 0; nn = 0; return;} sq_LList转载 2016-04-20 11:38:50 · 4475 阅读 · 0 评论 -
c++ 实现顺序栈类(初始化,入栈,退栈。读栈顶元素以及顺序输出栈顶指针与栈中的元素<<计算机软件技术基础 徐士良>>
/* 定义顺序栈类(初始化,入栈,退栈。读栈顶元素以及顺序输出栈顶指针与栈中的元素*/#includeusing namespace std;//template class sq_Stack{private: int mm; // 存储容量 int top;// 栈顶指针 T *s; //顺序栈存储控件首地址public: sq_Stack(int); void转载 2016-04-20 15:30:48 · 4069 阅读 · 0 评论 -
STL(1)、vector c++ 用法
http://www.cnblogs.com/wang7/archive/2012/04/27/2474138.html在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用转载 2016-04-21 11:46:03 · 351 阅读 · 0 评论 -
C/C++常考面试题(1)
http://www.nowcoder.com/ta/review-c1,写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)int Sum( int n ){ return ( (long)1 + n) * n / 2; //或return (1l + n) * n / 2;}2 分析下面代码有什么问题?void test1(){转载 2016-04-18 21:18:34 · 763 阅读 · 0 评论 -
STL string
/* STL string c++字符串*/#include #include #include using namespace std;#include int main(){ char name[20]; // C语言 的字符串 char *name1 = "dskfdsf"; // // C语言 的字符串 // c++字符串 //using namespac原创 2016-04-21 21:43:50 · 398 阅读 · 0 评论 -
static全局变量与普通的全局变量的区别详细解析
http://www.jb51.net/article/41777.htm(1)static全局变量与普通的全局变量有什么区别?(2)static局部变量和普通局部变量有什么区别?(3)static函数与普通函数作用域有什么不同?(4)static函数与普通函数有什么区别?(1)static全局变量与普通的全局变量有什么区别?答:全局变量的说明之前再加以static 就转载 2016-04-23 22:08:20 · 521 阅读 · 0 评论 -
c++之MFC(1)基础知识
MFC是用来缩写Windows应用程序的C++类集,该类集以层次结构组织起来,其中封装了WindowsAPI函数和Windows控件,它所包含的功能涉及整个Windows操作系统。原创 2016-07-24 16:05:13 · 333 阅读 · 0 评论 -
c++之STL(3) Vector容器
vector是一个动态数组,是一个类模板(class template)vector对象的定义和初始化vcotor对象的操作vector::size_typevector下标操作不添加元素//#include#include//#includeusing std::vector;using std::string;using std::cout;using原创 2016-07-21 09:22:32 · 574 阅读 · 0 评论 -
c++ STL(4)之 deque类
deque是一个动态数组;与vector类似;deque可以在数组开头和末尾插入和删除元素,但是vector只能在末尾插入和删除元素。原创 2016-07-25 22:45:07 · 622 阅读 · 0 评论 -
C++之STL(5)之 set 与 multiset
set(集) multiset(多集) 两者都是为了保存大量数据的,但是不同的是 前者 保存的数据不重复,而后者 是允许 重复的。其保存的数据非常快,尤其是大量数据的时候。但其有一个缺点:就是数据插入的时候比顺序容器慢些(vector 、 list 、 deque)。基本操作有:inset;count 和 find;erase注意:不能通过find进行修原创 2016-07-25 23:53:36 · 401 阅读 · 0 评论 -
C++之STL(7) queue队列
队列:FIFO先进先出自适应器(容器适配器)不能用vector做queue>queue>q.empty();q.size();q.front();q.back();q.pop();q.push(item);原创 2016-07-27 09:00:56 · 624 阅读 · 0 评论 -
c++之STL(8)优先级队列 priority_queue
本文是听的网络课程,而记录下来的学习心得。自适应容器(容器适配器):不能使用list特点:数据中最大的放的是队首从队首拿出来的数据始终是最大的两种优先级队列:最大值优先级队列、最小值优先级队列优先级队列适配器 STL priority_queuepriority_queue> pq;priority_queue> pq;pq.empty()p原创 2016-07-28 00:53:55 · 734 阅读 · 0 评论 -
标准模板库STL简介(1)
其实,STL就是数据结构和算法。主要就是三个部分一:STL 容器顺序容器:std::vector std:deque std::list关联容器: std::set std::multiset set::map std::multimap二: STL 迭代器前向迭代器 双向迭代器 随机访问迭代器 三:STL算法std::fi原创 2016-07-15 09:01:05 · 532 阅读 · 0 评论 -
c++之STL(12) STL 算法 - 最小值和最大值
min_element(b , e)min_element(b , e, op)max_element(b , e)max_element(b , e, op)//op 是函数,函数对象,一元谓词 #include#include//#includebool absLess(int elem1, int elem2){ return abs(ele原创 2016-08-03 19:22:57 · 4478 阅读 · 0 评论 -
c++之STL(13) STL 算法 - 查找算法(1)
常用的查找算法如下:find()find_if()//search_n()search()find_end()find_first_of()adjacent_find()//这两种方法通用,对所有容器试用,但是查找效率慢,是线性查找find() 此复杂度是线性复杂度find_if() 此复杂度是线性复杂度注意:1,如果是已序区间,可以转载 2016-08-04 08:33:51 · 698 阅读 · 0 评论 -
c++之STL string(2)复制,迭代,连接,查找,截短,字符串反转,大小写转换
STL string 的常用操作主要有以下五种:复制,迭代,连接,查找,截短;STL string 的常用算法有:字符串反转,大小写转换;原创 2016-07-18 09:23:12 · 2634 阅读 · 0 评论 -
STL算法(15)——区间的比较
STL算法——区间的比较:equal(b,e,b2) // 用来比较两个容器中的数据是否相等equal(b,e,b2,p)mismatch(b,e,b2) // 用来查找两个容器中第一个不相等的数据mismatch(b,e,b2,p)lexicographical_compare(b,e,b2,e2) //用来比较第一个区间是否比第二个区间小lexic转载 2016-08-16 08:42:40 · 827 阅读 · 0 评论 -
一个函数名后面加const表示什么意思?
const用在成员函数后 主要是针对类的const 对象如:class Text{public: void printconst(void)const{cout<<"hello"<<endl;} void print(void){cout<<"hello"<<endl;}private: int k;};const Text a;//上面定义了类Text的一常转载 2016-08-01 07:33:16 · 3051 阅读 · 0 评论 -
c++之STL(13) STL 算法 - 查找算法(2)search_n() search_n(b, e, c, v) search_n(b, e, c, v, p)
search_n() 用来查找连续的n个匹配的数值 或者 加谓词search_n(b, e, c, v)search_n(b, e, c, v, p)注意:该方法的第二种形式应该是search_n_if(b, e, c, p)#include#include#include//#include//using namespace std;int mai转载 2016-08-04 22:53:55 · 644 阅读 · 0 评论 -
c++之STL(9)重载函数调用操作符 函数对象 谓词
重载函数调用操作符函数对象:定义了调用操作符的类,其对象称为“函数对象”一元函数对象一元谓词二元函数对象二元谓词#include//#include#include#includeusing namespace std;//class absInt{////public:// int operator()(int val){// // }转载 2016-07-28 08:45:45 · 665 阅读 · 0 评论 -
c++之STL(13) STL 算法 - 查找算法(3)search() find_end()
search() 是从前面找find_end() 是从后门找注意:两个算法是一对,第二个算法叫search_end(),但是被命名为find_end();两个都是用来在容器中查找,连续的数据在容器中是否存在转载 2016-08-05 07:20:50 · 1273 阅读 · 0 评论 -
error C3861: back_inserter : 找不到标识符(+补充新问题)
http://blog.csdn.net/swazer_z/article/details/7389455isual Studio 2010中的VC++对C++0x提供了很多支持,很多标准也与C++0x接轨。这样做的好处是很多的,但同时也会导致以前一些不符合C++0x规范的代码无法像原来那样工作。问题:error C3861: 'back_inserter': identifi转载 2016-08-16 21:45:31 · 3697 阅读 · 0 评论 -
STL_算法(16)_复制元素 copy() copy_backward()
copy()copy_backward()以上两个对所有容器都适用的注意:1, 没有copy_if()算法,可以使用remove_copy_if()算法;2,复制过程中要逆转元素次序,使用reverse_copy()算法;3,把容器内所有元素赋值给另一个容器,要使用赋值操作符或者容器的assign()成员函数;4,复制过程中删除某些元素,使用remove_copy()和转载 2016-08-16 23:02:10 · 628 阅读 · 0 评论 -
STL_算法(17)_排列组合 next_permutation() perv_permutation()
next_permutation()prev_permutation()#include#include#include// 排列组合开始之前一定要先排序using namespace std;int main(){ vector ivec; ivec.push_back(1); ivec.push_back(2); ivec.push_back(3); fo转载 2016-08-17 07:55:51 · 618 阅读 · 0 评论 -
c++之STL(10)STL 算法
非变序算法:计数算法:count、count_if搜索算法:search、find、find_if、find_first_of.......比较算法:equal、mismatch、lexicographical_compare.......变序算法:删除算法:remove、remove_if、remove_copy........修改算法:for_each、tran转载 2016-08-01 21:56:50 · 652 阅读 · 0 评论 -
c++之STL(11) 算法- 元素计数
countcount_if关联容器的等效成员函数:set.countmultiset.countmap.countmultimap.count转载 2016-08-03 00:03:05 · 660 阅读 · 0 评论