2012年2月22日

【100题】第十六题(层序打印树的节点)

摘要: 一,题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。例如输入 8 / \ 6 10 / \ / \5 7 9 11输出:8 6 10 5 79 11。二,分析: 本题主要考察树的层序遍历,最常用的方法就是采用队列的形式。 按照,根左右的形式依次将元素弹入队列中。然后取出队列头部,再将头部的左右子树弹入队列中。这样就可以层序遍历整个二叉树。有些类似树的广度优先查找。三,源码:#include "stdio.h" #include "malloc.h" #include "stack.h" struct 阅读全文

posted @ 2012-02-22 17:32 小田的专栏 阅读(128) 评论(0) 推荐(0) 编辑

【100题】第十五题(树的镜像问题)

摘要: 一,题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。 例如输入: 8 / \ 6 10 / \ / \ 5 7 9 11 输出: 8 / \ 10 6 / \ / \ 11 9 7 5定义二元查找树的结点为:struct BSTreeNode // a node in the binary search tree (BST){ int m_nValue; // value of node BS... 阅读全文

posted @ 2012-02-22 16:27 小田的专栏 阅读(162) 评论(0) 推荐(0) 编辑

【解决方法】Ubuntu文本编辑器gedit打开中文出现乱码的

摘要: 缺省配置下,用 Ubuntu 的文本编辑器(gedit)打开 GB18030/GBK/GB2312 等类型的中文编码文本文件时,将会出现乱码。出现这种情况的原因是,gedit 使用一个编码匹配列表,只有在这个列表中的编码才会进行匹配,不在这个列表中的编码将显示为乱码。您要做的就是将 GB18030 加入这个匹配列表。命令行方式,适用于所有 Ubuntu 用户。复制以下命令到终端中,然后回车即可: gconftool-2 --set --type=list --list-type=string /apps/gedit-2/preferences/encodings/auto_detected & 阅读全文

posted @ 2012-02-22 10:05 小田的专栏 阅读(280) 评论(0) 推荐(0) 编辑

【C++ primer】第七章 函数-C++的编程模块

摘要: 1,函数的基本知识 C++对于返回值的类型有一定的限制:不能是数组,但可以使其他任何类型,甚至可以使结构和对象。 有趣的是,虽然数组不可以作为返回对象,但是数组可以作为结构或对象组成部分来返回。2,函数参数和按值传递 cin.get();//读取所有输入的字符,包括空格和换行符。 cin>> ;//跳过空格和换行符读取。3,函数和数组 int arr[32]; int sum_arr(int arr[],int n);//参数arr是一个指针,而不是一个数组。 int sum_arr(int *arr,int n); //仅用于函数头,函数原型中 int *arr ... 阅读全文

posted @ 2012-02-22 00:12 小田的专栏 阅读(167) 评论(0) 推荐(0) 编辑

导航