- 博客(15)
- 收藏
- 关注
转载 C++文件读写总结
在C++中如何实现文件的读写? 作者: infobillows 发表日期: 2007-04-03 21:33 点击数: 465 一、ASCII 输出 为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的。)。这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所有这两个文件,
2013-09-18 16:31:02 501
原创 微软面试100道之11 求二叉树中节点的最大距离
求二叉树中节点的最大距离... 如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的, 我们姑且定义"距离"为两节点之间边的个数。 写一个程序, 求一棵二叉树中相距最远的两个节点之间的距离。 #include using namespace std; struct BSTreeNode { int data; int high; BSTreeNode * left;
2013-09-17 10:56:03 486
原创 微软面试100之10 翻转句子中单词的顺序
翻转句子中单词的顺序。 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。 句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student. a am I”。 #include using namespace std; struct charlin { char s[30]; };
2013-09-16 18:49:58 522
转载 C++getline()与get()用法
问题一: #include #include using namespace std; void main(void) { string st ; cout getline(cin,st); cout } 上面这段代码,如果输入abc,那么需要按两次回车键才能显示abc(在VC6中),因为getline有三个参数,第三个参数是字符串的结束符,也就是当
2013-09-13 20:48:03 1813
转载 C++中 虚函数 纯虚函数 与多态
一、定义. 纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加"=0" virtual void funtion1()=0 二、引入原因: 1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。 2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出
2013-09-13 19:10:04 577
原创 微软面试100道之7 判断俩个链表是否相交
第7题(链表) 微软亚院之编程判断俩个链表是否相交 给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交。 为了简化问题,我们假设俩个链表均不带环。 问题扩展: 1.如果链表可能有环列? 2.如果需要求出俩个链表相交的第一个节点列? 以下是以按没有环来设计: #include using namespace std ; struct Lin
2013-09-09 21:40:00 477
转载 C++类型转换总结
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a。 C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 const_cast,字面上理解就是去const属性。 static_cast,命名上理解是静态类型转换。如int转换成char。 dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多态类
2013-09-07 10:57:03 414
原创 微软面试100之9 判断整数序列是不是二元查找树的后序遍历结果
第9题(树) 判断整数序列是不是二元查找树的后序遍历结果 题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。 如果是返回true,否则返回false。 例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果: 8 / / 6 10 / / / / 5 7 9 11 因此返回t
2013-09-04 19:06:47 508
原创 微软面试100道之 5 查找最小的k个元素(数组)
5.查找最小的k个元素(数组) 题目:输入n个整数,输出其中最小的k个。 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。 #include using namespace std; int main() { int a[]={10,6,3,9,15,12,7,5,8,9,45,12,3,2,45,78,
2013-09-02 20:27:11 631
原创 微软面试100之1 把二元查找树转变成排序的双向链表(树)
1.把二元查找树转变成排序的双向链表(树) 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。 10 / / 6 14 / / / / 4 8 12 16 转换成双向链表 4=6=8=10=12=14=16。 首先我们定义的二元查找树 节点的数据结构如下: struct BST
2013-09-02 14:08:11 506
原创 微软面试之4 在二元树中找出和为某一值的所有路径(树)
4 题目:输入一个整数和一棵二元树。 从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径。 例如 输入整数22和如下二元树 10 / / 5 12 / \ 4 7 则打印出两条路径:10, 12和10, 5, 7。 #include using name
2013-09-02 14:03:05 582
转载 std::vector介绍
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。 为了可以使用vector,必须在你的头文件中包含下面的代码: #include vector属于std命名域的,因此需要通过命名限
2013-09-02 13:58:09 539
原创 微软面试100道之3 求子数组的最大和(数组)
3.求子数组的最大和(数组) 题目: 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)。 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2, 因此输出为该子数组的和18。 #include
2013-08-31 12:45:41 465
原创 微软面试100道之2
2.设计包含min函数的栈(栈) 定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。 要求函数min、push以及pop的时间复杂度都是O(1)。 #include using namespace std; class Stack { int data1[100]; int data2[100]; int top1 ;
2013-08-31 12:43:07 505
转载 C语言内存分配问题
C语言内存分配问题 1、C中内存分为四个区 栈:用来存放函数的形参和函数内的局部变量。由编译器分配空间,在函数执行完后由编译器自动释放。 堆:用来存放由动态分配函数(如malloc)分配的空间。是由程序员自己手动分配的,并且必须由程序员使用free释放。如果忘记用free释放,会导致所分配的空间一直占着不放,导致内存泄露。 全局局:用来存放全局变量和静态变量。存在于程序的整个运行期
2013-08-24 14:32:57 538
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人