1、解压序列赋值给多个变量 任何的序列(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量。 唯一的前提就是变量的数量必须跟序列元素的数量是一样的。 如果一个可迭代对象的元素个数超过变量个数时,会抛出一个 ValueError 。可以用*来解决,这个仅支持python3。扩展的迭代解压 ...
分类:
编程语言 时间:
2017-04-09 23:36:58
阅读次数:
205
有时间再贴算法分析图 JDK7的Collections.sort()的算法是TimSort, 适应性的归并排序, 比较晦涩难懂, 这里没有实现 ...
分类:
编程语言 时间:
2017-04-09 18:46:47
阅读次数:
252
摘要:js的数据类型有种划分方式为 原始数据类型和 引用数据类型。 原始数据类型 存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。栈区包括了 变量的标识符和变量的值。 引用数据类型 存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指 ...
分类:
Web程序 时间:
2017-04-09 15:36:01
阅读次数:
332
题记:内存管理一直是C/C++程序的红灯区。关于内存管理的话题,大致有两类侧重点,一类是内存的正确使用,例如C++中new和delete应该成对出现,用RAII技巧管理内存资源,auto_ptr等方面,很多C/C++书籍中都使用技巧的介绍。另一类是内存管理的实现,如linux内核的slab分配器,S ...
分类:
其他好文 时间:
2017-04-08 21:27:19
阅读次数:
251
#include #include #include using namespace std; const int N=405; struct rec { int v,w; }; vector edge[N*N]; int n,st,ed; __int64 dis[N*N]; bool vis[N*... ...
分类:
其他好文 时间:
2017-04-08 17:06:05
阅读次数:
131
1 #include 2 #include 3 4 using namespace std; 5 6 int x,size,n; 7 int heap[1000005]; 8 9 void push(int x) 10 { 11 int now,next; 12 heap[++size]=x; 13... ...
分类:
编程语言 时间:
2017-04-08 09:38:05
阅读次数:
153
new operator 将对象产生与heap,不但分配内存而且为该对象调用一个constructor operator new只是分配内存,没有constructor被调用 有个一个特殊版本,称为placement new,允许从特定的内存区域分配对象 指定区域分配内存 #include <new ...
分类:
编程语言 时间:
2017-04-08 00:10:10
阅读次数:
235
#ifndef HEAP_H #define HEAP_H #include #include using namespace std; template class Heap { public: Heap(vector &_vec) : vec(_vec){} ~Heap(){ vec.~vect... ...
分类:
编程语言 时间:
2017-04-07 14:12:33
阅读次数:
154
无论怎么小心,想完全避免bad code是不可能的,此时就需要一些工具来帮助我们检查代码中是否存在会造成内存泄漏的地方。Android tools中的DDMS就带有一个很不错的内存监测工具Heap(这里我使用eclipse的ADT插件,并以真机为例,在模拟器中的情况类似)。 用 Heap监测应用进程 ...
分类:
其他好文 时间:
2017-04-07 10:21:13
阅读次数:
189
堆内存设置 原理 JVM堆内存分为2块:Permanent Space 和 Heap Space。 Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。 Heap = { Old + NEW = {Ed ...
分类:
编程语言 时间:
2017-04-06 11:52:00
阅读次数:
183