摘要: 编程之美3.10节。完整代码如下:View Code 1 #include <iostream> 2 #include <cassert> 3 #include <vector> 4 #include <fstream> 5 #include <stack> 6 #include <queue> 7 using namespace std; 8 9 struct Node 10 { 11 Node* m_lChild; 12 Node* m_rChild; 13 int m_nMaxLeft; 14 int m_nMaxR 阅读全文
posted @ 2012-06-18 17:56 kasuosuo 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 这篇文章主要讲解如何在C++中使用cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等。通过本文,您可以完全脱离scanf/printf,仅使用cout来完成一切需要的格式化输入输出功能(从非性能的角度而言)。更进一步而言,您还可以在<sstream>、<fstream>上使用这些格式化操作,从而代替sprintf和fprintf函数。为方便描述,下文仅以cout为例进行介绍。一、综述cout是STL库提供的一个iostream实例,拥有ios_base基类的全部函数和成员数据。进行格式化操作可以直接利用setf/unsetf函数和 阅读全文
posted @ 2012-06-14 10:12 kasuosuo 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 对stl中的destroy函数做如下测试:template<typename T>void MyDestroy(T* pointer){ pointer->~T(); cout<<"OK"<<endl;}int main(){ //int *p=new int(); //这里是怎么实现的?? //cout<<*p<<endl; //输出为0 int *p=NULL; //必须给p复初值,否则运行时会出错 //若写成int *p;运行时出错 MyDestroy(p);}上述中的in... 阅读全文
posted @ 2012-06-13 21:56 kasuosuo 阅读(428) 评论(1) 推荐(0) 编辑
摘要: 《编程之美》3.10介绍了二叉树层次遍历及从左到右输出每一层,并给出了两个扩展题目。下面是完整的代码实现:View Code 1 #include <iostream> 2 #include <cassert> 3 #include <string> 4 #include <fstream> 5 #include <vector> 6 #include <queue> 7 using namespace std; 8 9 struct Node 10 { 11 int m_data; 12 Node* m_lChild; 阅读全文
posted @ 2012-06-12 23:50 kasuosuo 阅读(1681) 评论(0) 推荐(1) 编辑
摘要: View Code 1 #include <iostream> 2 #include <cassert> 3 4 using namespace std; 5 6 //给定一个非降序有序数组,返回出现value的任意 7 //一位置,不存在则返回-1 8 //low:a中第一个元素的下标 9 //high:a中最后一个元素的下标 10 //如果在a中有多个value,每次返回的都是value第一次 11 //出现的下标 12 int BinarySearch1(int *a,int low,int high,int value) 13 { 14 if (!a |... 阅读全文
posted @ 2012-06-12 20:45 kasuosuo 阅读(271) 评论(0) 推荐(1) 编辑