摘要: 转http://blog.csdn.net/mageshuai/article/details/3851172栈与队列更多的作为程序员的工具来使用,构思算法的辅助工具,而数组、链表等是作为数据存储工具,适用于数据库应用中做数据记录,但栈与队列不是完全的数据存储工具,他们的生命周期比较短,在程序操作执行期间他们才被创建,在完成任务后就被销毁。栈与队列的访问是受限制的,即在特定时刻只有一个数据项可以被读取或被删除。他们可以用数组或链表来实现,比数组、链表更加抽象。Stack在解析算数表达式方面的应用对分隔符的匹配验证大部分微处理器运用基于栈的体系结构方法:pushpoppeekTop指针,指向栈顶 阅读全文
posted @ 2012-09-14 20:59 nuaa_zhou 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 最近重新温习数据结构,自己编写了一个关于二叉树的代码,分享下。#include<iostream>#include<process.h>using namespace std;typedef struct TreeNode{ char c; TreeNode *leftchild; TreeNode *rightchild;}TreeNode;int cmpTree(TreeNode *tree1, TreeNode *tree2){ bool isTree1_Null = (tree1 == NULL); bool isTree2_Null = (tree2 =... 阅读全文
posted @ 2012-09-14 20:56 nuaa_zhou 阅读(215) 评论(0) 推荐(0) 编辑
摘要: Trie树,又称为字典树或者叫键树,是一种hash树的改进。经常应用于统计和排序大量的字符串,或者查找字符串。Trie树的结构如下:数据结构如下:typedef struct iNode{ char symbol; iNode *first; //子节点的第一个节点 iNode *next; //邻居节点}iNode;完整代码如下:View Code 1 #include<iostream> 2 #include<iomanip> 3 using namespace std; 4 5 typedef struct iNode 6 { 7 char symbol;... 阅读全文
posted @ 2012-09-14 20:47 nuaa_zhou 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/hackbuteer1/article/details/6789164相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加malloc/free。(2)用法上也有所不同。函数ma 阅读全文
posted @ 2012-09-13 14:34 nuaa_zhou 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 转:http://blog.csdn.net/mageshuai/article/details/3988800计算机排序与人进行排序的不同:计算机程序不能象人一样通览所有的数据,只能根据计算机的"比较"原理,在同一时间内对两个队员进行比较,这是算法的一种"短视"。1.冒泡排序BubbleSort最简单的一个publicvoidbubbleSort(){intout,in;for(out=nElems-1;out>0;out--)//outerloop(backward)for(in=0;in<out;in++)//innerloop(for 阅读全文
posted @ 2012-09-13 14:31 nuaa_zhou 阅读(268) 评论(0) 推荐(0) 编辑