C++
文章平均质量分 78
buxia
这个作者很懒,什么都没留下…
展开
-
微软面试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 · 466 阅读 · 0 评论 -
微软面试100道之11 求二叉树中节点的最大距离
求二叉树中节点的最大距离...如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。写一个程序,求一棵二叉树中相距最远的两个节点之间的距离。#include using namespace std;struct BSTreeNode { int data; int high; BSTreeNode * left;原创 2013-09-17 10:56:03 · 487 阅读 · 0 评论 -
微软面试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 阅读 · 0 评论 -
C++getline()与get()用法
问题一: #include #include using namespace std; void main(void) { string st ; coutgetline(cin,st); cout} 上面这段代码,如果输入abc,那么需要按两次回车键才能显示abc(在VC6中),因为getline有三个参数,第三个参数是字符串的结束符,也就是当转载 2013-09-13 20:48:03 · 1813 阅读 · 0 评论 -
C++中 虚函数 纯虚函数 与多态
一、定义. 纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加"=0"virtual void funtion1()=0二、引入原因:1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出转载 2013-09-13 19:10:04 · 577 阅读 · 0 评论 -
微软面试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 阅读 · 0 评论 -
微软面试100道之7 判断俩个链表是否相交
第7题(链表)微软亚院之编程判断俩个链表是否相交给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交。为了简化问题,我们假设俩个链表均不带环。问题扩展:1.如果链表可能有环列?2.如果需要求出俩个链表相交的第一个节点列?以下是以按没有环来设计:#include using namespace std ;struct Lin原创 2013-09-09 21:40:00 · 478 阅读 · 0 评论 -
微软面试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 · 632 阅读 · 0 评论 -
微软面试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 · 507 阅读 · 0 评论 -
std::vector介绍
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用vector,必须在你的头文件中包含下面的代码:#include vector属于std命名域的,因此需要通过命名限转载 2013-09-02 13:58:09 · 541 阅读 · 0 评论 -
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 阅读 · 0 评论 -
微软面试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 · 506 阅读 · 0 评论 -
C++文件读写总结
在C++中如何实现文件的读写?作者: infobillows 发表日期: 2007-04-03 21:33 点击数: 465一、ASCII 输出为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的。)。这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所有这两个文件,转载 2013-09-18 16:31:02 · 501 阅读 · 0 评论