- 博客(13)
- 资源 (8)
- 收藏
- 关注
原创 stl中hash_set的使用
在hash_set中,元素不会被排序下面这个例子中,hash_set的EqualKey必须有特别的设计,不能沿用equal_to,因为此例中的元素是c风格字串,而c风格字串必须使用strcmp来进行比较下面是具体源码:#include #include #include using namespace std;struct eqstr{ bool operator()(
2015-05-20 09:24:39 5923
原创 stl中map的使用
map与set类似,都是一个关联式容器,但是与set不同的是他键值分离的,key,value 结构,在map结构中元素是不允许重复的。在学习的过程中,我们需要主要一些问题:就是在关联式容器中,当数据很大的时候,使用其中的查找算法是很快速的,应该使用其提供的函数来实现查找函数等等高,会比使用stl中的算法find更有效率,因为STL中的find算法知识循环搜寻具体例子使用源码如下:#
2015-05-18 10:42:49 443
原创 stl中set的使用
在STL中经常会使用到Set,以及它的相关类 Mutileset 以及基于 散列表(hash table)的hash_set , 还有一系列无序容器等,这些容器都有一个特点,不同于map,他是键也是它的值,反之也是。set是基于红黑树来实现的,红黑树由于在Stl中是不对外提供接口的,所以只有去看源码剖析才能分析到他的具体实现,它建模是一个平衡二叉树。其实在实际应用中也不会去考虑stl源码的实
2015-05-18 10:28:43 496
原创 stl中lis的使用
在stl中,list是实现是采用双向链表来实现的,具体结构如下:list的节点结构如下templatestrcut __list_node{typedef void* void_pointer;void_pointer prev;void_pointer next;T Data;}定义了上面那样的一个双向链表结构,然后在list类中有关于这个结构的插入删除等
2015-05-15 16:46:14 518
原创 STL中vector使用
#include #include #include using namespace std;int main(){ int i; vectoriv(2, 9); cout << "Size = " << iv.size() << endl; cout << "capacity = " << iv.capacity() << endl; iv.push_back(1);
2015-05-15 16:30:29 389
原创 在MFC中使用WinInnet通过http从读取网页信息
具体实现源码如下:void CMFCApplication1Dlg::OnBnClickedBtnCheck(){ // TODO: 在此添加控件通知处理程序代码 CInternetSession httpSession; CString Line; CInternetFile * Webfile = nullptr; UpdateData(TRUE); if (m_ed
2015-05-15 15:23:32 1047
原创 在MFC中实现拖拽文件到对话框中的编辑控件中
这次我学习了如何将文件拖拽到对话框的编辑控件中,具体如下:要实现这个功能,首先要重载CEdit类,定义个派生类CDragEdit类,并重载他的WM_CREATE方法,在其中添加DragAcceptFile(TRUE);方法然后利用类向导为CDragEdit类添加WM_DROPFILE消息响应函数:代码如下:void CDragEdit::OnDrop
2015-05-15 12:24:15 4226
原创 c++中重载<<操作符
在类定义中,有时候我们需要直接利用cout来打印出类中的数据,此刻就需要重载假定定义了一个类Time然后声明了一个类 Time a;cout这样的语法肯定是会报错的,此刻就需要重载operator要怎么做呢? 首先,在重载函数中,要访问到类Time中的私有成员的数据,所以我们需要定义这个函数为类Time的友元函数,具体如下class Time{friend std:
2015-05-11 10:50:12 4249
原创 c++中对象,继承的引用
在c++中在传递一个父类引用的参数的时候,可以传递一个子类的实参进去,这也是继承中的一些特点,意味着子类可以使用父类的特点具体例子入下:// TheRefOfc++.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include using namespace std;void fi
2015-05-10 12:15:27 963
原创 c++中函数中将引用用于类对象
在c++的引用学习中,遇到一些问题,比如返回成员函数内部变量的引用,这个变量会在函数声明周期结束的时候就被析构,然后返回了这个变量的引用就会出现一个错误的内存的引用,具体例子入下:// TheRefOfc++.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;s
2015-05-10 11:50:18 700
转载 算法复习-----------利用列队解决电路布线问题
首先什么是电路布线问题呢?电路布线问题是类似于迷宫的问题,也是一个模拟矩阵,迷宫是每个点有8个方向可以走,但是在电路布线问题中每个点上只有上下左右4个方向可走。因为电路布线不允许对角线上布线,并且电路布线问题要求线路所走过的路程必须是最短的,即从出发点到目的点路径很可能有很多,要找的是经过跳数最少的那个。也就是说不能太多的弯儿,能直走的就直着走。迷宫问题是只要找到出路,不管路径是如何的。在
2015-05-06 09:38:17 1754
原创 算法复习--------------列队的实现
列队是FIFO(先进先出)的一种数据结构 ,具体实现入下:templateclass Queue{private: int front; int rear; int MaxSize; T* queue;public: Queue(int MaxQueueSize = 10); ~Queue(); bool IsEmpty()const{ return front
2015-05-06 09:28:08 423
原创 算法复习--------------利用堆栈解决电路布线问题
具体实现代码如下:bool CheckBox(int net[], int n){ Stack *s = new Stack(n); for (int i = 0; i < n; i++){ if (!s->IsEmpty()){ if (net[i] == net[s->Top()]){ int x; s->Delete(x); } else
2015-05-02 14:56:29 948
windows网络编程
2013-12-20
深度探索c++对象
2013-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人