摘要:
list将元素按顺序储存在链表中. 与向量(vector)相比, 它允许快速的插入和删除,但是随机访问却比较慢. list提供如下三种构造函数:list<T> l1;list<T> l2(l1);list<T> l3(b, e);b,e是指定范围的两个迭代器list提供如下的接口函数,具体实现及函数原型请参阅其他帮助文档assign() 给list赋值 back() 返回最后一个元素 begin() 返回指向第一个元素的迭代器 clear() 删除所有元素 empty() 如果list是空的则返回true end() 返回末尾的迭代器 erase() 删除一 阅读全文
摘要:
Vectors 包含着一系列连续存储的元素,其行为和数组类似。访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线性时间复杂度。vector定义了五种构造函数分别是:vector<T> v1;vector<T> v2(v1);vector<T>v3(b, e)vector<T> v4(n, i);vector<T> v5(n);vector包含如下接口函数,如需详细了解,请参阅相关帮助文档Constructors 构造函数 Operators 对ve 阅读全文
摘要:
选择排序是一种不稳定的排序方法,排序思想比较简单,大致可描述为:每次在待排序元素中选出最小元素,放到前面,如此下去,每次选出的都是剩余元素的最小元素,直至待排序元素只剩一个时,排序结束,演示过程如下:设待排序有n个元素,分别为[1...n],未排序时,有序区元素个数为零,无序区元素个数为n。以五个元素为例,a[5] = {5, 4, 3, 2, 1}第一趟排序从无序区选出最小元素为1,与无序区第一个元素5交换,得到序列1 4 3 2 5这时1为有序区,4 3 2 5为无序区第二趟排序在新的无序区中选出最小元素为2,与无序区的第一个元素4交换,得到序列1 2 3 4 5这时1 2为有序区,3 4 阅读全文
摘要:
书接上文,谈谈简约设计的第一个方面:删除。为什么要删除呢,因为很多功能是没有用的,说到这,可能会有人反驳,没有用为什么还要加到软件里呢,那不是没事找事吗。我说的功能没用分两个方面,一方面是真的没用,一方面是对于普通用户来说没有用。对于第一种,真的没有用的功能,是必须要删除的,因为这种功能对用户来说就是一种迫害,本来没有用,还要人家学,这不有病吗。那么,这种功能是怎么来的呢,多数是因为设计者的一厢情愿,他们总是想让自己的软件能有很多的功能,能做很多的事情,还总是打着用户的名义,假如用户需要这个功能呢,假如用户需要那个功能呢,其实大多数用户,对软件的要求很简单,能做我想要让他做的事情就可以了,用户 阅读全文