自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小葱的博客

每一个不曾起舞的日子都是对生命的辜负。。。

  • 博客(12)
  • 收藏
  • 关注

原创 模拟实现list(iterator)

说明:list的erase存在迭代器失效问题,本文给出两种解决方法,其中的一种是stl中给出的解决方法。 //List.h#pragma once#define _CRT_SECURuE_NO_WARNINGS 1#include<iostream>using namespace std;#include<cassert>//nodetemplate<class T>struct Li

2017-04-28 19:18:00 504

原创 模拟实现vector

vector.h#pragma once#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>using namespace std;//vector的插入和删除都存在迭代器失效的问题,解决方法将插入和删除的函数//的参数给成引用,可以达到如下结果:当上述两个函数内部迭代器失效,也会使得//外部的迭代器也同样失效,那么就要在函数内部将其重置

2017-04-28 19:12:38 546 2

原创 了解c++中的类型转换

1、static_cast(隐式类型转换)—–>相关类型的转换static_cast用于非多态类型的转换(静态转换),任何标准转换都可以用它,但 它不能用于两个不相关的类型进行转换。 2、reinterpret_cast(强制类型转换)reinterpret_cast操作符用于将一种类型转换为另一种不同的类型。 3.const_cast(去const属性的类型转换)const_cas

2017-04-21 15:52:07 329

原创 递归算法总结

下面总结一些常见的递归编程题: 1.使用递归逆序打印单链表:#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>using namespace std;struct Node{ Node(int data) :_data(data) , _next(NULL) {} int _data; Nod

2017-04-21 14:29:18 451

原创 表达式求值(中缀转后缀及后缀表达式求值)

。中缀表达式转后缀表达式:中缀表达式转后缀表达式遵循以下原则: 1.遇到操作数,直接输出; 2.栈为空时,遇到运算符,入栈; 3.遇到左括号,将其入栈; 4.遇到右括号,执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,左括号不输出; 5.遇到其他运算符’+”-”*”/’时,弹出所有优先级大于或等于该运

2017-04-21 13:05:59 30033 6

原创 栈的基本操作及如何判断一个表达式中的左右括号是否匹配

我们都知道,栈(stack)具有后进先出的特点,所以在我们思考一个表达式中的左右括号是否匹配问题时,就自然会想到是不是可以利用栈的特点来判断左右括号是否匹配呢?主要思路如下: 1.扫描整个表达式; 2.判断当前字符是否为括号(左右括号) ①如果不是,则继续扫描下一个字符; ②如果是,则判断当前操作符是否为左括号 若为左括号—>直接入栈。

2017-04-21 12:25:10 17978

原创 设计模式----单例模式

剑指offer面试题2: 设计一个类,我们只能生成该类的一个实例。一、只适用于单线程环境:1。利用静态成员函数—->设计思路: 1)因为只能产生一个示例—–>需将该类的构造函数的访问权限设置为私有的(不允许类外在任意地方可以实例化出该类对象)2)因为静态成员变量是该类所有对象所共享的,内存中只有一份,所以就想到在类内声明一个指向该类对象的指针3)因为类外不能实例化出该类对象,所以—>需要在类内定

2017-04-13 12:39:05 379

原创 时间复杂度和空间复杂度

一开始接触数据结构,不可避免的要了解如何计算一个算法的时间复杂度和空间复杂度,也许你之前听过,但是并没有深入了解的话,那么就可以和我一起来了解下哦。。。本篇文章讲的主要内容: 1.时间复杂度 2.空间复杂度 3.两个小例子来深入理解(使用递归或非递归时的)时间复杂度和空间复杂度。 如何衡量一个算法的好与坏?算法的时间复杂度和空间复杂度统称为算法的复杂度。 空间复杂度是指当前问题的规模

2017-04-11 14:49:36 3688

原创 初探进程及task_struct

文章概要: 1.进程概念的简单普及 2.进程控制块(PCB)中成员信息 一、进程描述和控制:1.操作系统必须支持交替执行多个进程,在合理的响应时间范围内使处理器的利用率达到最大。 2.操作系统必须按照特定的策略(例如某些函数或者应用程序具有较高的优先级)给进程分配资源,同时避免死锁。 3.操作系统可以支持进程间的通信和用户创建进程,它们对构造应用程序很有帮助。 小贴士:一个计算机平台

2017-04-10 00:06:08 422

原创 关于对象模型的几个面试题(很基础,但坑较多)

可能是因为光是看书,关于看到的知识点也不会去深思各种各样的场景去构造,导致遇到一些很基础的问题都会犯二,写此篇博客,特警示自己: 学知识,最重要的是思考!!!如果关于对象模型你还有那么一点兴趣,那么可以继续向下看,看看自己是否可以完全答对。。。1.面试题(选择题):下面我贴出的是主要的代码片,头文件以及using namespace std;需要自行添加哦!class A{public :

2017-04-08 00:09:27 1691 1

原创 浅谈shared_ptr及shared_ptr涉及到的循环引用问题

起初在C++标准库里面是没有智能指针的,直到C++11才加入了shared_ptr和unique_ptr以及weak_ptr。最早的智能指针在Boost库里面,Boost库是为C++标准库提供扩展的一些C++程序的总称,由Boost社区组织开发维护。  shared_ptr与scoped_ptr一样包装了new操作符在堆上分配的动态对象,但它实现的是引用计数型的智能指针 ,可以

2017-04-05 00:30:23 14173 7

原创 浅谈auto_ptr智能指针

在c++标准库里主要有三个智能指针:①auto_ptr在任何情况下都不要使用②scoped_ptr独占空间,防拷贝和赋值,是对第①个智能指针的缺陷所作出的解决③shared_ptr利用引用计数,和其他对象共享一块空间(与weak_ptr结合使用)这篇文章主要的内容是讲解auto_ptr所引出的一系列问题:一、AutoPtr智能指针

2017-04-02 00:20:26 13460 3

空空如也

空空如也

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

TA关注的人

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