摘要: 三十分钟掌握STL这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:karymay@163.netSTL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中ST 阅读全文
posted @ 2013-08-01 09:47 zhlechn 阅读(184) 评论(0) 推荐(0)
摘要: STL简介1.作为一个C++程序设计者,STL是一种不可忽视的技术。Standard Template Library (STL):标准模板库,更准确的说是 C++ 程序设计语言标准模板库。STL是所有C++编译器和所有操作系统平台都支持的一种库,说它是一种库是因为,虽然STL是一种标准,也就是说对所有的编译器来说,提供给C++程序设计者的接口都是一样的。也就是说同一段STL代码在不同编译器和操作系统平台上运行的结果都是相同的,但是底层实现可以是不同的。令人兴奋的是,STL的使用者并不需要了解它的底层实现。 试想一下,如果我们有一把能打开所有锁的钥匙,那将是多么令人疯狂啊。STL的目的是标准化 阅读全文
posted @ 2013-08-01 09:36 zhlechn 阅读(332) 评论(0) 推荐(1)
摘要: /*辗转相除法, 又名欧几里德算法设两数为a、b(a>b),求a和b最大公约数(a,b)的步骤如下:用b除a,得a÷b=q......r1(0≤r1)。若r1=0,则(a,b)=b;若r1≠0,则再用r1除b,得b÷r1=q......r2 (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r2除r1,……如此下去,直到能整除为止。其最后一个非零除数即为(a,b)。流程图见图片 如求 16 和 10 的最大公约数 16 % 10 = 6 10 % 6 = 4 6 % 4 = 2 4 % 2 =0 最大公约数位 2*/#include main(){ i 阅读全文
posted @ 2013-07-30 11:44 zhlechn 阅读(553) 评论(0) 推荐(0)
摘要: #include #if 1int main() //游戏类型 : B T135{ int t; scanf("%d",&t); while(t--) { int N, temp = 0; scanf("%d",&N); while(N--) { int m, n; scanf("%d%d", &m, &n); temp ^= m % (n + 1); //f(x) = x % (n + 1), x: 每堆石子数, n: 每堆最多取的数目; f(x) 的二进制异或运算, 同为0, 不同为1 } if(t 阅读全文
posted @ 2013-07-30 11:38 zhlechn 阅读(209) 评论(0) 推荐(0)
摘要: #include #include #include /*********************************************************************** 大数取余* 过程:* 从大数最高位开始,只要其大于除数 sor, 就取余。* 例如:123 % 4** 1 4 t=t % 4=0* 3 t= 0 * 100 + 3 = 3 t=t % 4=3** 因此余数是3。*****************************************************... 阅读全文
posted @ 2013-07-30 11:35 zhlechn 阅读(367) 评论(0) 推荐(0)
摘要: #include int main(){ int m, n; while(scanf("%d%d", &m, &n) != EOF) { int suma = 0, sumb = 0; if(m > n) m ^= n ^= m ^=n;//交换两数 while(1) { if(m % 2) sumb += m * m * m++; else suma += m * m++; if(m > n) break; } printf("%d %d\n", suma, sumb); } return 0;} 阅读全文
posted @ 2013-07-30 11:27 zhlechn 阅读(125) 评论(0) 推荐(0)