![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 65
qq_26406505
2013届在校大学生。熟悉c/c++编程语言,熟悉常用的数据结构,如链表,队列,二叉树,B树,字典树等。熟悉linux操作系统下的常用命令。熟悉linux系统下的网络编程,熟悉常用的网络协议以及简单的网络编程模型。最近在做一个安卓客户端的开发,也在学习java和安卓中。
展开
-
字典树
//字典树的插入和删除操作 #define MAX_SIZE 25 const int LinkSize = 27; typedef enum {ELEM=0,BRCH}NodeType; typedef struct { char ch[MAX_SIZE + 1]; int curSize; }KeyType;//关键码类型 typedef struct {}Reco原创 2016-01-28 22:18:19 · 177 阅读 · 0 评论 -
快速排序---C语言实现
快速排序是这样的一种排序算法,每次将关键字放在合适的位置上,关键字之前的都比它小,之后的都比它大,接下来用两种方式实现快速排序的算法,递归和非递归。先看下递归版本的 int partation(ELEM_TYPE *arr,int left,int right) { ELEM_TYPE tmp=arr[left]; while(left { while(left { right--原创 2016-02-06 13:18:16 · 239 阅读 · 0 评论 -
根据遍历结果构造二叉树
二叉树的前序,中序,后序遍历不是本篇说的重点,这次主要说一下如何根据两种遍历结果构造一棵树。 1.根据前序和中序遍历的结果构造这棵树 char *ps = "ABCDEFGH"; //前序 char *is = "CBEDFAGH"; //中序 由前序遍历的规则可知,ps的第一个元素即为树的根,我们以第一个为界限在中序遍历的结果里面找,即可将第二个数组划分为两部分,左边为这原创 2016-02-06 13:21:58 · 320 阅读 · 0 评论 -
C语言实现循环队列
C语言实现的循环队列,用数组形式实现的,下面是实现的代码,初始化,插入,删除,和打印操作。 #include #include"seq_queue.h" #include #include static bool is_full(seq_queue *q) { return (q->tail+1)%MAX_SIZE == q->head; } bool is_原创 2016-02-06 13:24:00 · 385 阅读 · 0 评论 -
c++内存池
//以下是一个简易的c++内存池的实现。实现次内存池的目的是我们一次性向系统申请大块的内存,然后自己管理,这样可以避免重复向系统申请小块的内存而带来的系统开销。 我是用一个双端队列来管理申请到的内存的。当程序需要申请是,从队头拿出来一个。释放时,将释放的内存块挂进队列。以下是c++代码。 const int MEM_SIZE = 5; class CQueue { public:原创 2016-01-29 11:34:10 · 205 阅读 · 0 评论 -
二叉树转换成双向链表
二叉树中,每个节点都有两个指针,双向链表中每个节点也有两个指针。在转换过程中,我们可以让双向链表中的节点的前驱指向左孩子的最右断,后继指向右孩子的最左端。代码如下: struct BinaryTree { char data; BinaryTree *mLeft; BinaryTree *mRight; }; BinaryTree* BuyNode() {原创 2016-02-21 00:07:45 · 461 阅读 · 0 评论 -
监听者—观察者模式
class Listener //监听者的基类 { public: Listener(string name):mName(name){} virtual void handleMessage(int iMessage) const=0; //对感兴趣的事件进行处理 protected: string mName; }; class TestListener1:publ原创 2016-02-23 22:35:15 · 338 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式是一种创建型的模式,目的是创建一组相关或者相互依赖的对象: c++代码:class AbstractProduct { public: AbstractProduct(string name):mName(name){} virtual ~AbstractProduct()=0; virtual void show()=0; protected: string mName;原创 2016-02-23 22:42:06 · 223 阅读 · 0 评论