自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 如何将一个网络分为两个子网、如何通过已知IP和子网掩码计算其同一网段的主机IP

已知网络的IP地址和子网掩码如何确定主机的网络号: IPV4的IP地址格式通常表示为xxx.xxx.xxx.xxx,其中xxx为十进制数,取值范围是[0,255],若用16进制表示则为xx.xx.xx.xx,其中xx的取值范围是[0,FF]。实际上,IP地址使用二进制位表示最能说明其本质,它共占4x8=32个二进制位,前n个二进制为表示网络ID,即,网络号,后32-n个二进制位表示每个子网

2017-03-20 20:39:14 6785 1

转载 python的filter,map,zip,reduce,apply

Python是一门很简洁,很优雅的语言,其很多内置函数结合起来使用,可以使用很少的代码来实现很多复杂的功能,如果同样的功能要让C/C++/Java来实现的话,可能会头大,其实Python是将复杂的数据结构隐藏在内置函数中,用C语言来实现,所以只要写出自己的业务逻辑Python会自动得出你想要的结果。这方面的内置函数主要有,filter,map,reduce,apply,结合匿名函数,列表解析一起使

2017-03-18 10:49:58 447

原创 STL算法replace,replace_if,replace_copy.replace_copy_if

所有容器适用replace(b,e,ov,nv)      //把oldvalue替换成newvaluereplace_if(b,e,p,v)     //把符合p条件的替换成vreplace_copy(b1,e1,b2,ov,nv)replace_copy_if(b1,e1,b2,p,v)[cpp] view plain copy

2017-03-18 10:00:40 442

原创 STL算法,堆排序

/*****************************************STL-算法--Heap算法堆排序算法 (heapsort)make_heap()         //把容器内的数据做堆排序push_heap()         //向堆内放入元素pop_heap()          //删除堆顶元素sort_heap()         //把堆

2017-03-17 09:10:03 1599

原创 STL算法之sort和stable_sort

1.stable_sort 和 sort的区别在于 前者作排序可以使原来的"相同"的值在序列中的相对位置不变如 1 4 6 7 4' (4 和 4'值相等,加上' 表示是2个元素)那么stable_sort能保证排序完 4 仍然在4' 前 也就是输出1 4 4' 6 7;但是sort 没有这个功能,算法不能保证这一点2.在标准算法中的一部分算法 如果这个算法默认使用的是

2017-03-15 09:35:37 1560

原创 STL算法排列

《C++ Primer》//所有容器适用next_permutation(b,e)       //下一个排列-----从小到大   返回值false,表示没有下一个next_permutation(b,e,cp)prev_permutation(b,e)       //上一个排列-----从大到小   返回值true,表示还有下一个prev_permutation(b,

2017-03-14 09:28:20 186

原创 STL算法reverse,reverse_copy

/**------http://blog.csdn.net/u010579068------**/ #include #include #include #include #include #include #include using namespace std; /***************************************** /

2017-03-14 09:15:01 324

原创 C++ STL算法transform

参考:《C++ Primer》以及教学视频所有容器适用transform(b1,e1,b2,op)      //把一个区间[b1,e1)内的数据经过(op)转化,放入第二个容器内                            //也就是复制+修改(变换)    当然b2可以等于b1transform(b1,e1,b2,b3,op)  

2017-03-13 10:02:05 612

原创 C++的STL算法for_each

for_each()函数将调用者提供的操作施加于每一个元素身上。它既可以是非变动性算法,也可以说是变动性算法。[cpp] view plain copy print?template class InputIterator, class Function>     Function for_each (InputIterator firs

2017-03-13 09:10:38 454

原创 函数对象

一个函数对象,即一个重载了括号操作符“()”的对象。当用该对象调用此操作符时,其表现形式如同普通函数调用一般,因此取名叫函数对象。举个最简单的例子:[cpp] view plain copyclass FuncObjType  {  public:      void operator() ()      {          c

2017-03-13 09:08:14 198

原创 C++STL算法lower_bound、upper_bound、equal_range

参考《C++ Primer》//所有容器适用(O(log(n)))    已序区间查找算法lower_bound()        //找第一个符合的元素,返回位置迭代器,返回val出现的第一个位置upper_bound()        //找最后一个符合的元素,返回位置迭代器,返回Val出现的最后一个位置的下一个位置equal

2017-03-12 17:22:04 820

原创 C++的STL的binary_search()和includes()

所有容器适用(O(log(n)))     已序区间查找算法binary_search             //二分查找,返回bool值,includes                    //包含查找,返回bool值。#include #include #include #include #include using namespace

2017-03-12 16:15:36 614

原创 C++的STL模板的adjacent_find()

adjacent_find         //用来查找连续两个相等的或者符合方法的#include #include #include #include #include using namespace std; /***************************************** //所有容器适用(线性的) adjacent_find(b

2017-03-12 15:59:03 302

转载 C++的STL之find_first_of

find_first_of         //找第一个符合条件的位置find_last_of         //找最后一个符合条件的位置

2017-03-12 15:34:47 556

原创 C++的STL之search()与find_end()

1、search()search(ideq.begin(),ideq.end(), ilist.begin(), ilist.end());2、find_end()find_end(ideq.begin(), ideq.end(),ilist.begin(),ilist.end());也可以用谓词:bool checkEven(int elem, bool even)

2017-03-12 15:09:02 4058

转载 C++之STL bitset

有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值。位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法。标准库提供了bitset类使得处理位集合更容易一些。要使用bitset类就必须要包含相关的头文件。在本书提供的例子中,假设都使用了std::bitset的using声明:[cpp] view plain copy

2017-03-11 22:16:16 336

转载 C++的STL之search_n

C++STL的非变易算法(Non-mutating algorithms)是一组不破坏操作数据的模板函数,用来对序列数据进行逐个处理、元素查找、子序列搜索、统计和匹配。      重复元素子序列搜索search_n算法:搜索序列中是否有一系列元素值均为某个给定值的子序列,它有如下两个函数原型,分别在迭代器区间[first, last)上搜索是否有count个连续元素,其值均等于valu

2017-03-10 10:54:26 501

转载 C++的find和find_if函数

一、find()算法[cpp] view plain copy print?templateclass InputIterator, class T>    InputIterator find ( InputIterator first, InputIterator last, const T& value )    {    

2017-03-10 10:25:30 14483

原创 C++的substr函数的用法

C++中substr函数的用法#include#includeusing namespace std;main(){string s("12345asdf");string a=s.substr(0,3); //获得字符串s中 从第0位开始的长度为3的字符串//默认时的长度为从开始位置到尾cout<<a<<endl;}输出结果为:123

2017-03-10 08:59:50 463

原创 C++的count和cout_if函数

count_if函数原型如下:[cpp] view plain copy print?templateclass _InIt, class _Pr> inline      typename iterator_traits::difference_type          count_if(_InIt _First, _InIt _Last

2017-03-10 08:55:20 4257

原创 C++的STL之set/multiset

集合使用set或multiset之前,必须加入头文件Set、multiset都是集合类,差别在与set中不允许有重复元素,multiset中允许有重复元素。sets和multiset内部以平衡二叉树实现1.   常用函数1)        构造函数和析构函数set c:创建空集合,不包含任何元素set

2017-03-07 11:03:43 233

原创 C++ STL之map和multimap用法

一. Map与 Multimap 特点Map 和 Multimap 将(key/value) 一组当做元素,它们可以根据 key 的排序准则自动将元素排序。Multimap允许重复元素,map不允许重复。类型定义:[cpp] view plaincopytypedef std::mapfloat, std:

2017-03-07 10:11:52 11392

转载 C++之模板priority_queue

从我以前的博文能看出来,我是一个队列爱好者,很多并不是一定需要用队列实现的算法我也会采用队列实现,主要是由于队列和人的直觉思维的一致性导致的。今天讲一讲优先队列(priority_queue),实际上,它的本质就是一个heap,我从STL中扒出了它的实现代码,大家可以参考一下。首先函数在头文件中,归属于命名空间std,使用的时候需要注意。队列有两种常用的声明方式:s

2017-03-04 11:26:51 749

转载 C++之STL--queue模板类

queue与stack 模板类很相似,queue 模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。可选的容器类型有queue,list,但是不能用vector;queue的核心接口主要由成员函数push(),front(),back(),pop()构成;push():会将一个元素置入queue中;

2017-03-04 11:10:18 2249

原创 C++stack模板类

stack 介绍栈是一种容器适配器,特别为后入先出而设计的一种(LIFO ),那种数据被插入,然后再容器末端取出栈实现了容器适配器,这是用了一个封装了的类作为他的特定容器,提供了一组成员函数去访问他的元素,元素从特定的容器,也就是堆栈的头取出袁术。这个基础的容器可能是任何标准的容器类,和一些其他特殊设计的模板类,唯一的要求就是要支持一下的操作[cpp] 

2017-03-04 10:49:15 1657

转载 C++List模板类的使用

List的使用在使用list必须包括头文件#include 如何定义一个list对象[cpp] view plain copy #include   int main (void)  {      listchar > cList; //声明了list模板类 的一个实例  }  使用list的成员函数push_back和push_front插入一个元素到list中

2017-03-04 10:11:12 1572

转载 双端队列--Deque 容器

deque容器是C++标准模版库(STL,Standard Template Library)中的部分内容。deque容器类与vector类似,支持随机访问和快速插入删除,它在容器中某一位置上的操作所花费的是线性时间。与vector不同的是,deque还支持从开始端插入数据:push_front()。使用deque容器之前必须加上头文件:#include;       deque属

2017-03-04 09:11:03 227

原创 面试题--调整数组顺序

一:调整数组顺序使得奇数位于偶数前面 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分。首先这个题目只要求把奇数放前面,偶数放后面,所以我们不需要关注其他太多的因素,我们只需要给两个指针,让他们一个指向最后一个元素,这个指针只向前移动,一个指向第一个元素,这个指针只向后移动,然后让这两个指针动起来就好了,让前面的指针

2017-03-03 18:41:57 1381

原创 指针和引用的区别,堆和栈的区别

指针和引用的区别1,引用不可以为空,指针可以为空。2,引用不可以改变指向,指针可以改变指向。虽然引用不可以改变指向,但是可以改变初始化的内容;3,sizeof()操作引用得到的是所指向变量的大小,而sizeof()指针,得到的是指针本身的大小,即4个字节;4,引用比指针更安全,在使用引用前不需要测试它的合法性。而指针则总是被测试,防止为空。堆和栈的区别简述为:1

2017-03-03 15:44:14 2644

原创 C++智能指针

1. 智能指针概念智能指针是基于RAII机制实现的类(模板),具有指针的行为(重载了operator*与operator->操作符),可以“智能”地销毁其所指对象。C++11中有unique_ptr、shared_ptr与weak_ptr等智能指针,可以对动态资源进行管理2. unique_ptr概念unique_ptr“唯一”拥有其所指对象,同

2017-03-03 11:22:03 152

转载 C++虚基类作用

当一个基类被声明为虚基类后,即使它成为了多继承链路上的公共基类,最后的派生类中也只有它的一个备份。例如:class CBase { };class CDerive1:virtual public CBase{ };class CDerive2:virtual public CBase{ };class CDerive12:public CDerive1,CDerive2{ };

2017-03-03 10:15:29 1146

原创 机器人运动范围--回溯算法

/*题目:地上有个m行n列的方格。一个机器人从坐标(0, 0)的格子开始移动,它每一次可以向左、右、上、下移动一格,但不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格(35, 37),因为3 + 5 + 3 + 7 = 18.但它不能进入方格(35, 38),因为3 + 5 + 3 + 8 = 19.请问该机器人能够达到多少格子?例如我们输入的K =

2017-03-02 22:22:04 815

转载 C++中static变量与继承

1.   父类的static变量和函数在派生类中依然可用,但是受访问性控制(比如,父类的private域中的就不可访问),而且对static变量来说,派生类和父类中的static变量是共用空间的,这点在利用static变量进行引用计数的时候要特别注意。     2.   static函数没有“虚函数”一说。因为static函数实际上是“加上了访问控制的全局函数”,全局函数哪来的什么虚函数?  

2017-03-02 10:09:10 2391

转载 C++继承与转换

理解基类类型和派生类之间的转换,对于理解面向对象编程在C++中如何工作非常关键。每个派生类对象都包含了一个基类的部分,这意味着可以像使用基类对象一样在派生类对象上执行操作。因为派生类对象也是基类对象,所以存在从派生类对象的引用到基类对象引用的转换,对指针类似。基类类型对象既可以作为独立部分存在,也可以作为派生类对象的一部分而存在,因此一个基类对象可能也可能不是派生对象的部分,结果没有从

2017-03-02 09:10:06 1517

原创 C++基类和派生类私有、保护、公有成员访问控制以及动态绑定、三种继承

1.类的一个特征就是封装,public和private作用就是实现这一目的。所以:用户代码(类外)可以访问public成员而不能访问private成员;private成员只能由类成员(类内)和友元访问。private不能被继承,不能被子类的成员函数访问。2.类的另一个特征就是继承,protected的作用就是实现这一目的。所以:protected成员可以被类成员和友元访问,

2017-03-01 09:11:37 2976

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除