随笔分类 - C/C++面试题目
摘要:看了一些资料,对于二叉树的非递归实现原理不是很理解,下面的博客中给出了一些解释,收藏下来:http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来
阅读全文
摘要:转自:http://www.cnblogs.com/marrywindy/archive/2010/08/19/1803288.html代码 二:查找
:顺序查找
(整型与零的比较,int i,用if(i!=0),或if(i==0)。 #include "stdio.h" bool SequenceSearch(int*& p,int k,int n,int& pos)
{ int i=0; while (i<n && p[i]!=k) { i++; } if (i>=n) { return false; ...
阅读全文
摘要:转自:http://www.cnblogs.com/marrywindy/archive/2010/10/29/1864067.html代码 /* purpose:实现链表的几种操作 */ #include "stdio.h" #include "stdlib.h" #include "malloc.h" struct SNode { int ivalue; struct SNode* next; }; /*****************************************************************
阅读全文
摘要:转自:http://blog.csdn.net/karldoenitz/article/details/8246787// 二叉树.cpp : 定义控制台应用程序的入口点。
//
/*
*二叉树作业
*2012.12.1 13:55
*Made By Karld Vorn Doenitz
*/ #include "stdafx.h"
#include<iostream>
#include<string> using namespace std; class TreeNode{//建立节点类
public: char num; TreeNode *le
阅读全文
摘要:转自:http://blog.csdn.net/that163/article/details/8040009分别用了三种不同的方法实现了二叉树的前序遍历。 1 #include<iostream> 2 #include<stack> 3 using namespace std; 4 struct BTreeNode{ 5 //二叉树 6 int data; 7 BTreeNode *lchild; 8 BTreeNode *rchild; 9 BTreeNode *parent;10 };11 /*12 void PreOrder...
阅读全文
摘要:转自:http://www.cnblogs.com/marrywindy/archive/2010/08/21/1805336.html二叉树的一般操作,实现了下:主要练习了二叉树的非递归遍历,利用栈,和队列来完成。算法思想,没描述清楚,表达能力很差...崩溃....代码 #include "stdio.h"
#include "malloc.h" #define MAXSIZE 20
//二叉树结点的结构体表示形式
typedef struct node
{ char data; struct node* left,*right;
}BTree; //
阅读全文
摘要:转自:http://blog.csdn.net/hinyunsin/article/details/6315502在面试的过程中,发现有几家公司都喜欢考这样的一道题,就是在一棵二叉树中,已知这棵二叉树的前序和中序遍历结果,要求写出后序遍历结果。例如:在一棵二叉树总,前序遍历结果为:ABDGCEFH,中序遍历结果为:DGBAECHF,求后序遍历结果。我们知道:前序遍历方式为:根节点->左子树->右子树中序遍历方式为:左子树->根节点->右子树后序遍历方式为:左子树->右子树->根节点从这里可以看出,前序遍历的第一个值就是根节点,然后再中序遍历中找到这个值,那么
阅读全文
摘要:华为成研所2013.4.26下午2:15-4:15上机笔试题目。2013年华为软件校园招聘编程测验类别:软件C/C++语言编程题(共3题)注意:1、请上机编写程序,按题目要求提交文件。[详见考试说明,点击进入考试说明]2、本试题采用自动执行测试用例进行评分,测试用例不对考生公开3、评卷通过在给定用例输入下,严格按照试题要求比较考生实现函数的输出与预设输出。两者相同则得分,不同则不得分。4、评卷人保证测试用例输入参数的合法性,考生不用考虑输入参数非法或异常的情况,题目中注明的例外5、评卷人保证测试用例输入在被测函数正常合法情况下使用不会导致程序错误6、被要求实现的函数如果包含返回参数,该返回参数
阅读全文
摘要:转自:http://blog.csdn.net/lanyan822/article/details/7983832时间:2012-09-15 地点:电子科大上机时间两小时,3道题1 字串转换问题描述:将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:aa 转换为 bc,zz 转换为 ab;当连续相同字母超过两个时,第三个出现的字母按第一次出现算。要求实现函数:void convert(char *input,char* o
阅读全文
摘要:转自:http://blog.csdn.net/yexinghai/article/details/4649923插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。要点:设立哨兵,作为临时存储和判断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;//分别为有序区和无序区指针for(i=1;i<length;i++)//逐步扩大有序区{j=i+1;if(L[j]<L[i]){L[0]=L[j];//存储待排序元素Whil
阅读全文
摘要:转自:http://blog.163.com/qhx_405/blog/static/6338992620098140352928/二叉树的遍历有三种方式,如下:(1)前序遍历(DLR),首先访问根结点,然后遍历左子树,最后遍历右子树。简记根-左-右。(2)中序遍历(LDR),首先遍历左子树,然后访问根结点,最后遍历右子树。简记左-根-右。(3)后序遍历(LRD),首先遍历左子树,然后遍历右子树,最后访问根结点。简记左-右-根。例1:如上图所示的二叉树,若按前序遍历,则其输出序列为 。若按中序遍历,则其输出序列为 。若按后序遍历,则其输出序列为 。前序:根A,A的左子树B,B的左子树没有,看右
阅读全文
摘要:转自:http://blog.csdn.net/21aspnet/article/details/146968链表的C语言实现(含动态内存分配)上 链表的C语言实现之动态内存分配一、为什么用动态内存分配 但我们未学习链表的时候,如果要存储数量比较多的同类型或同结构的数据的时候,总是使用一个数组。比如说我们要存储一个班级学生的某科分数,总是定义一个float型(存在0.5分)数组:float score[30]; 但是,在使用数组的时候,总有一个问题困扰着我们:数组应该有多大? 在很多的情况下,你并不能确定要使用多大的数组,比如上例,你可能并不知道该班级的学生的人数,那么你就要把数组定义得...
阅读全文
摘要:转自:http://www.cnblogs.com/justinzhang/archive/2012/04/22/2465061.html/* Author:JustinZhang Email:uestczhangchao@gmail.com Time:2012年4月22日16:08:42 From:2012华为编程大赛下午组第二题 */ #include <iostream> #include <cstring> #include <iomanip> using namespace std; /* input[]是一个字符串,其中有数字、字母、特殊符号,要
阅读全文
摘要:转自:http://blog.csdn.net/zhoujiaxq/article/details/7917071在http://blog.thpiano.com/?p=579看到有人贴出第四届华为编程大赛决赛试题答案,研究了一下,发现有错误,下面将修改正确的代码贴出。题目是这样的:=======================================================================编程题(共1题,100分。请上机编写程序,按题目要求提交文件。测试用例不对考生公开,凡不满足提交要求导致不能运行或用例不通过,不予评分。)1.俄罗斯方块之棋盘覆盖俄罗斯方块是
阅读全文

浙公网安备 33010602011771号