// BTree.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include"stdlib.h"
#include"malloc.h"
#define BT BTreeNode
#define MS 10
typedef struct BT{
char data;
struct BT *left;
struct BT *right;
}BT;
...
分类:
其他好文 时间:
2014-05-04 12:45:34
阅读次数:
365
leetcode中有这么一道题,非递归来实现二叉树的遍历。二叉树的后序遍历顺序为,root->left,
root->right,
root,因此需要保存根节点的状态。显然使用栈来模拟递归的过程,但是难点是怎么从root->right转换到root。方法1:对于节点p可以分情况讨论1.
p如果是叶子...
分类:
其他好文 时间:
2014-05-04 10:39:13
阅读次数:
251
原理冒泡排序(Bubble
Sort),又被称为气泡排序或泡沫排序。它是一种较简单的排序算法。它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之后,最大的元素就在数列的末尾!
采用相同的方法再次遍历时,第二大的元素就...
分类:
其他好文 时间:
2014-05-04 10:13:02
阅读次数:
197
Sort a linked list using insertion
sort.思路:使用插入排序来对链表进行排序。只要注意链表的边界问题,其实关键就是交换链表的值,对链表指针是没有什么影响的。接下来说下具体步骤:1.判断head或者head->next是否为空;2.循环遍历,初始条件pCur=he...
分类:
其他好文 时间:
2014-05-04 10:01:57
阅读次数:
242
面向对象编程思想中,多态是一个最重要的特性,代码灵活性的体现主要是靠这种思想来实现的。现在模拟Sun公司当中的两个集合类LinkedList和ArrayList。这些具体的容器,都可以用一个Collection的接口来接收。最常用的就是遍历容器,而现在不同的容器,遍历它们的具体实现是不同的,而我们可...
分类:
其他好文 时间:
2014-05-03 22:44:36
阅读次数:
491
//非递归遍历一棵树 需要借助栈
#include
#include
struct Tree
{
int nValue;
Tree *pLeft;
Tree *pRight;
};
struct Stack
{
Tree *root;
Stack *pNext;
};
Stack *pStack = NULL;
void push(Tree *root)
{
St...
分类:
其他好文 时间:
2014-05-03 20:55:41
阅读次数:
325
package ioTest.io3;
import java.io.File;
/*
* 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 。
* 并将文件夹和文件名称打印在控制台上面。并且要显示文件目录的层级
* 注:运用了递归的算法。
*/
public class FileDemo3 {
public static void main(String[] args) {
...
分类:
编程语言 时间:
2014-05-03 20:54:44
阅读次数:
677
package com.recursion;
import java.io.File;
public class RecursionFile {
public static void main(String[] args) {
File file = new File("G:/A");
tree(file, 0);
}
private static vo...
分类:
编程语言 时间:
2014-05-03 16:07:04
阅读次数:
265
字符串处理问题
有一个表达式,其中包含不确定数目的括号,如as(sdfsd + sdfs)sdf(sdf-sdf(sdf + sdf))sdf。要求获取所有不在括号中的字符。
实现思想:用栈来实现,遍历字符串,如果遇到左括号(()则向栈中压入(push)一个元素(任意元素),如果遇到右括号())则从栈顶弹出(pop)一个元素,如果遇到非括号(左括号或者右括号)则检测栈中是否为空,若为空...
分类:
其他好文 时间:
2014-05-03 15:33:12
阅读次数:
225