
常见数据结构实现
tianmo2010
这个作者很懒,什么都没留下…
展开
-
环行缓冲区实现(C++版本)V0.31
//---------------------------------------------------------------------------// 模块: 环形缓冲区类 TFengRingBuf// 版本号: V0.31// 编写人: Twicave(twicave@yahoo.com.cn)//// 简要说明:转载 2013-04-25 19:48:23 · 1202 阅读 · 0 评论 -
google string_split
//string_split.cc// Copyright (c) 2010 The Chromium Authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.#include "b翻译 2015-11-18 19:55:04 · 1107 阅读 · 0 评论 -
google string_util.cc
// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.#include "base/string_uti翻译 2014-10-20 11:15:34 · 2599 阅读 · 0 评论 -
SkipList跳表的原理与实现
为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。 用跳表吧,跳表是一种随机化的数据结构,翻译 2013-08-26 16:01:14 · 1320 阅读 · 0 评论 -
C/C++栈的实现
一、顺序栈类型的定义// c3-1.h 栈的顺序存储表示 #define STACK_INIT_SIZE 10 // 存储空间初始分配量 #define STACKINCREMENT 2 // 存储空间分配增量 struct SqStack { SElemType *base; // 在栈构造之前和销毁之后,base的值为NULL SElemType *top; /原创 2013-04-11 20:41:54 · 1650 阅读 · 0 评论 -
Google common.h
原文:https://code.google.com/p/protobuf/source/browse/trunk/src/google/protobuf/stubs/common.h?r=89翻译 2014-10-29 14:52:32 · 2373 阅读 · 1 评论 -
C++的JSON库及使用方法
#ifndef CPPTL_JSON_H_INCLUDED# define CPPTL_JSON_H_INCLUDED# include "forwards.h"# include # include # ifndef JSON_USE_CPPTL_SMALLMAP# include # else# include # endif# ifdef JSON_USE_CPP翻译 2014-10-29 14:47:24 · 3062 阅读 · 0 评论 -
堆与堆排序
堆(英语:heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全树。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。堆的定义如下:n个元素的序列{k1,k2,ki,…,kn}当且仅当满足下原创 2013-09-15 23:37:19 · 1275 阅读 · 0 评论 -
解决哈希(HASH)冲突的主要方法
虽然我们不希望发生冲突,但实际上发生冲突的可能性仍是存在的。当关键字值域远大于哈希表的长度,而且事先并不知道关键字的具体取值时。冲突就难免会发 生。另外,当关键字的实际取值大于哈希表的长度时,而且表中已装满了记录,如果插入一个新记录,不仅发生冲突,而且还会发生溢出。因此,处理冲突和溢出是 哈希技术中的两个重要问题。1、开放定址法 用开放定址法解决冲突的做法是:当冲突发生时,使用某种原创 2013-04-16 17:29:51 · 1849 阅读 · 0 评论 -
C/C++队列实现
一、顺序队列 typedef int QElemType; // c3-3.h 队列的顺序存储结构(可用于循环队列和非循环队列) #define MAXQSIZE 5 // 最大队列长度(对于循环队列,最大队列长度要减1) struct SqQueue { QElemType *base; // 初始化的动态分配存储空间 int front; // 头指针,若原创 2013-04-11 20:44:26 · 1740 阅读 · 0 评论 -
哈希与多级哈希
最近接触到的项目有用到多级哈希做缓存,趁现在有时间,学习并总结一下哈希方面的知识。一、哈希。参考学习资料:http://www.cnblogs.com/waytofall/archive/2012/06/04/2534386.htmlhttp://www.cnblogs.com/egmkang/archive/2012/01/18/2325474.html转载 2012-08-22 18:36:00 · 2454 阅读 · 0 评论