Welcom to RO_wsy's blog

上一页 1 ··· 7 8 9 10 11
摘要: 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() 删除一 阅读全文
posted @ 2012-06-25 15:06 RO_wsy 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 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 阅读全文
posted @ 2012-06-25 10:44 RO_wsy 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 选择排序是一种不稳定的排序方法,排序思想比较简单,大致可描述为:每次在待排序元素中选出最小元素,放到前面,如此下去,每次选出的都是剩余元素的最小元素,直至待排序元素只剩一个时,排序结束,演示过程如下:设待排序有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 阅读全文
posted @ 2012-06-25 08:36 RO_wsy 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 书接上文,谈谈简约设计的第一个方面:删除。为什么要删除呢,因为很多功能是没有用的,说到这,可能会有人反驳,没有用为什么还要加到软件里呢,那不是没事找事吗。我说的功能没用分两个方面,一方面是真的没用,一方面是对于普通用户来说没有用。对于第一种,真的没有用的功能,是必须要删除的,因为这种功能对用户来说就是一种迫害,本来没有用,还要人家学,这不有病吗。那么,这种功能是怎么来的呢,多数是因为设计者的一厢情愿,他们总是想让自己的软件能有很多的功能,能做很多的事情,还总是打着用户的名义,假如用户需要这个功能呢,假如用户需要那个功能呢,其实大多数用户,对软件的要求很简单,能做我想要让他做的事情就可以了,用户 阅读全文
posted @ 2012-06-25 08:00 RO_wsy 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 最近读了一本关于交互设计的书,叫做《简约至上:交互式设计四策略》,作者是一位英国人。本书内容非常精炼,而且有一半的页数是插图,所以一直看的话三四个小时足够了,虽说书的篇幅不大,但内容却是句句箴言,值得细细回味。总的来说,本书描述了简约设计的四种主要策略。首先说说什么是简约,记得利郎的广告词说:简约而不简单。先解释一下简约和简单吧,简单是一个常用到否定句的词语,本义是不复杂,单纯,不存细。而简约是简洁、大方、精致,是形容一种层次的升华。而用到软件设计上也是如此,简约就是要让软件易用而又优雅,把软件当做一件艺术品来做。为什么简约如此重要呢?就当下来看,社会越来越进步,人们的品位越来越高,生活的节奏 阅读全文
posted @ 2012-06-24 21:14 RO_wsy 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序是一种简单实用的排序算法。是稳定的。其基本思想为:从第一个元素开始,与相邻的后一个比较,如果前一个元素大于后一个元素,则元素交换,否则不动;然后比较第二个和第三个,前大后小则交换,否则不换;如此下去,比较完第n-1个和第n个元素之后,第一趟排序结束,此时最大的元素被换到了最后面。第二趟继续以上动作,只比较前n-1个元素即可,因为最大的已经到了最后面,无需再比较,第二趟结束后,这时倒数第二大的元素被换到了倒数第二个位置。继续如此比较,n-1趟之后第二小的元素被放到了第二位,这时排序结束。算法演示如下:给定序列 5 4 3 2 1第一趟排序演示: 第一次比较:4 5 3 2 1 第二次比较 阅读全文
posted @ 2012-06-24 17:15 RO_wsy 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 二叉排序树又称二叉查找树,是一种的高效的查找数据结构,查找效率等同二分法。 以下是二叉查找树的一种简单模板实现:#include <iostream>using namespace std;template <typename T>class BinSearchTree{public: typedef Node* tree; BinSearchTree():rp(NULL), n(){} ~BinSearchTree(){ _clear(); n = 0; } void insert(const T& d){ _insert(rp, new Node(d)); 阅读全文
posted @ 2012-06-24 15:39 RO_wsy 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 简单的单链表模板实现:#include<iostream>using namespace std;template <typename T>class List{public: //构造函数 List():head(NULL), len(0){} //析构函数 ~List(){ clear(); } //判断链表是否为空 bool empty()const{ return head == NULL; } //返回链表元素的个数 int size()const{ return len; } //遍历链表 void travel()const{ if(empty()) re 阅读全文
posted @ 2012-06-24 10:49 RO_wsy 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 《Effective C++》,久闻大名,幸得一见,都说c++程序员分两类,看过EffectiveC++的和没看过的,可见对此书评价之高,很少人能出其右。身为菜鸟,先看一遍,记记笔记,留着以后水平提高后回来批斗自己。都说C++是难学易用的语言,难学是因为她具有多种编程范式,既能进行过程化编程(procedural),也能进行面向对象编程(object-oriented),也支持泛型编程(generic),甚至还有元编程(metaprogramming)。正是因为有如此强大的能力,才导致了C++的难学。当然,世上木有免费的午餐,要想人前显贵,就得背后受罪啊,要想学好c++,一定要下功夫。废话少说 阅读全文
posted @ 2012-06-07 23:18 RO_wsy 阅读(102) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11