- 博客(8)
- 资源 (2)
- 收藏
- 关注
翻译 C++11之 unique_ptr
原文地址为:http://www.drdobbs.com/cpp/c11-uniqueptr/240002708在C++11中加入了很多的新特性,unique_ptr一枝独秀,对于动态分配的内存对象,它简单有效。虽然它不是万能的,但是它做的已经够好了:利用简单的语法便可以管理动态分配的对象。基本语法:unique_ptr 是一个模板类,你可以很简单地构造一个unique_ptr
2014-08-24 15:58:27 3861
原创 没有默认构造函数,如何定义对象数组
如果一个类没有定义默认构造函数,那么构造该类的对象数组将会是一个问题。于是实现了一个将new操作符掰开了来用的代码。首先分配内存,然后再在分配的内存上调用构造函数构造对象,下面的代码做一个简单的备忘。//没有定义构造函数的类不能定义该类的对象数组,内置类型除外//operator new + ctor//dtor + operator delete //operator new[]
2014-08-24 10:35:29 4609
原创 算法之 有序链表和平衡二叉树 有序数组与平衡二叉树
题目描述:Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.给定一个有序的链表,要求构建一颗平衡二叉查找树。解析:二叉查找树的中序遍历的结构就是一颗二叉查找树,要使得最终的二叉查找树的结构尽可能的平衡,也就是说只需要
2014-08-23 21:57:49 2312
原创 快速排序 归并排序的非递归版本 备忘
首先,归并排序,分治,递归解决小的范围,再合并两个有序的小范围数组,便得到整个有序的数组。这是很适合用递归来写的,至于非递归,便是从小到大,各个击破,从而使得整个数组有序。代码如下:void merge(vector &A, int left, int mid, int right){ int i=left,j=mid+1; vector tmp(right-left+1,0);
2014-08-10 10:33:56 1339
原创 STL 之 iterator traits 备忘
//5种迭代器,为了激活重载机制,定义的5个类型。每种迭代器就是一个类型。struct input_iterator_tag{};struct output_iterator_tag{};struct forward_iterator_tag : public input_iterator_tag{};struct bidirectional_iterator_tag:public fo
2014-08-09 10:11:38 2098
原创 算法之--数组分割
题目来源:编程之美2.18有一个无序的,元素个数为2n的正整数的数组,要求:如何能把这个数组分割为元素个数为n的两个数组,使得两个子数组的和尽量接近。解析:因为两个子数组的和是一定的,等于整个数组的和。现在要求使得两个字数组的和尽量的接近,也就意味着要从其中选出n个数使得这n个数的和尽可能的接近sum/2,不妨设为从小于sum/2的方向接近。于是,这就是一个01背包的问题:
2014-08-07 14:49:45 2824
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人