一种数据结构 跳表skiplist

       跳表是平衡树的一种替代的数据结构,但是和红黑树不相同的是,跳表对于树的平衡的实现是基于一种随机化的算法的,这样也就是说跳表的插入和删除的工作是比较简单的。 


下载地址 : http://download.csdn.net/detail/hemmingway/4625042 


测试程序

// test.cpp
//#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <time.h>
#include "skiplist.h"
#include "TimeCounter.h"#define TIME_START CTimeCounter* pT = new CTimeCounter()
#define TIME_END   ShowTime(pT->GetExecutionTime())//
// Show execution time (ms)
void ShowTime(__int64 nTime)
{std::cout << "========================================" << std::endl;std::cout << "                    Total time: ";std::cout << std::fixed << std::setprecision(1) << std::setw(6);std::cout << nTime;std::cout << " ms" << std::endl << std::endl;//printf("Usage time: %I64d millisecond\n\n", nTime); //在g++中对应的是<stdint.h> int64_t, 应该用%lld输出
}int main(){int count = 10, i;	SkipList sl;srand((unsigned)time(NULL));std::cout<<"### Function Test ###\n\n";std::cout<<"\n=== Init Skip List ===\n\n";sl.Init();for ( i = 0; i < count; i++) {sl.Insert(i);}std::cout<<"\n=== Print Skip List ===\n\n";sl.Print();printf("\n=== Search Skip List ===\n\n");TIME_START;for (i = 0; i < count; i++) {int value = rand()%(count+10);sl.Search(value);}TIME_END;std::cout<<"\n=== Delete Skip List ===\n\n";char buf[256], *p = buf;for (i = 0; i < count+10; i+=2) {sprintf_s(buf, "Delete[%d]:%s\n", i, sl.Delete(i) ? "SUCCESS":"NOT FOUND");std::cout<<buf;}std::cout<<"\n\n";sl.Print();sl.Free();//或者Ctrl+F5调试getchar();
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243500.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《曙光与暮色》中的孤独与罪

《你在高原》第八卷《曙光与暮色》的两个主题值得关注。第一是孤独。小说的发展主要有三条线索&#xff1a;宁伽、曲涴、庄周&#xff0c;三条线索虽有内在关联&#xff0c;但都彼此孤立、隔离&#xff0c;甚至是彼此绝缘。小说中人与人之间的关系也是如此&#xff0c;出身、地…

汇编.s文件包含头文件处理

Error[2]: Failed to open #include file ‘FreeRTOSConfig.h’ 解决办法&#xff1a; IAR&#xff0c;在在assembler&#xff08;汇编编译选项&#xff09; 的preprocessor&#xff08;预处理&#xff09;里&#xff0c;填写好 引用的头文件地址

开源代码

我是一个C/C开发者&#xff0c;我收集的代码相关网站也是以C/C为主的&#xff0c;这都是我在开发过程中查找资料时用到或发现的一些网站。现在我把它们列出来&#xff0c;希望对大家有帮助&#xff0c;也希望能够与大家多多交流代码相关的网上资源。所以我在此抛砖了:) 另外声明…

IBM调低DB 2价格,Oracle提高MySQL使用成本

根据The Register公布的一份报告&#xff0c;Oracle取消了MySQL的Basic和Silver级支持。当然&#xff0c;这没有多少损失&#xff0c;在basic级别上&#xff0c;每年只能获得两次支持&#xff0c;而silver级只是增加了一些初级的监控工具。专业人员通常在用生产级数据库中使用的…

数值的表示和运算

数值的表示和运算 一方面,数字的表示格式必须有足够的精度;另一方面,数字的表示格式必须考虑数字的表示方法。 无符号 无符号的VHDL描述 library IEEE; use IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; entity top is -- …

SOA的未来怎样?

Joe McKendrick在他的新博文中抛出问题&#xff0c;探讨 SOA的未来。\u0026#xD;\n面向服务架构的下一步是什么呢&#xff1f; 许多人看到它与其他方法的融合&#xff0c;因为单独SOA不足以构成商业案例&#xff08;business case&#xff09;——业务要求高效的客户服务&#x…

加速度中的mg/LSB是什么意思

是G-Sensor灵敏度。 range的设置是指sensor所能测量的加速度范围&#xff0c;2g时最多能测到/-2g&#xff0c;4g时最多能测到/-4g&#xff0c;… 而sensor的ADC的位数是固定的&#xff0c;也就是说10位能输出的数字只有-512 ~ 511&#xff0c;不管range如何设置&#xff0c;数字…

Java字节码反编译工具

jd-gui-0.3.3.windows.zip是一个JAVA字节码(.class文件)反编译的工具, 试了一下感觉挺好用的的。下载地址&#xff1a; http://ishare.iask.sina.com.cn/f/22371879.html?fromlike官网http://java.decompiler.free.fr/

小孩与南瓜

九九重阳节。大觉寺。小孩抚摩着南瓜&#xff0c;像夏天挑西瓜。 就是它了。哈哈 妈咪&#xff0c;它怎么会动&#xff0c;瓜里有小动物吗&#xff1f; 妈妈说&#xff1a;这是去年万圣节的南瓜&#xff0c;因为今年的万圣节快到了&#xff0c;在里面睡了一年的小鬼儿醒了呢。

无符号定点数加法运算的VHDL描述

无符号定点数加法运算的VHDL描述 使用VHDL描述定点运算时添加运算支持的详细步骤 定位到Xilinx的安装路径下,然后找到D:\Xilinx\Vivado\2021.1\scripts\rt\data在该目录下,找到fixed_pkg_2008.vhd文件,并将其复制到设计目录中。 2. 在当前的设计工程中,将其复制到当前工…

补码、无符号数减法运算

1. 补码 Twos Complement&#xff08;二补数、补码&#xff09;是对二进制数的数学运算&#xff0c;运算过程为&#xff1a;对二进制序列每一位取反&#xff08;0->1; 1->0&#xff09;&#xff0c;再加1。 bits取反补码011100101010101110111000001 2. 计算机中有符号…

改变自己.

今天莫名其妙的被人躺枪了,悲催!

北京80后整体亮相《北京作家》

北京80后出生作家专号目录 郑小驴作品 枪声 秋天的杀戮 祁又一作品嗨&#xff01;朱迪生活在1968 关于阿玉姐姐的性尺度问题鲍尔金娜作品门 南锣鼓巷漫记 霍艳作品北海道的小村姑 北京大妞在香港 董夏青青作品 何日君再来 春树作品恶心 彭 扬作品幽灵 毕建伟作品论读书…

postman 发送到onenet,chinanet

http://api.heclouds.com/nbiot/offline?imei869405035099366&obj_id3339&obj_inst_id0&expired_time2019-09-04T13:00:00&trigger_msg4&mode2

浮点数(小数)的表示方法

浮点数(小数)的表示方法 浮点数可以在更大的动态范围内提供更高的分辨率。当定点数由于受到精度和动态范围所限不能精确表示数值时,浮点数能提供更好的解决方法。 标准的浮点数字长由符号位s(1bit)、指数e和无符号(小数)的规格化尾数m构成,其格式如下: s指数e无符号…

Cloudstreams: 云间整合的下一个挑战

Benoit Lheureux在其博文中写道&#xff0c;云计算不仅仅是\u0026#xD;\n……激增且混乱的云服务、创新、混搭和云资源的消费……\u0026#xD;\n在他看来&#xff1a;\u0026#xD;\n云服务消费对于业务来说仍然非常技术化&#xff0c;其中存在大量管理和合规问题。到最后&#xff0c…

Java解释XML文件的小例子

<?xml version"1.0" encoding"GBK"?> <addresslist><name>hemmingway</name> </addresslist>上面是test.xml文件, 下面是DOMDemo.java文件 package org.lxh.xml.dom;import java.io.File; import java.io.IOException; im…

鲁迅文学院60周年庆

鲁迅文学院走过60年的历程。这是在鲁迅文学院新址召开的庆典。 这次60周年庆典&#xff0c;邀请了曾在鲁迅文学院上学的历届学员代表参加。这是我们鲁九的三位同学&#xff1a;北京的倪学礼、新疆的张好好、河北的司敬雪。 鲁迅文学院新址主楼大堂&#xff0c;宽阔明亮干净现代…

NB-IoT SNR RSRQ RSRP等信号参数解释

CELL ID 基站小区标识 CELL ID是网络中小区的编号&#xff0c;与MCC、MNC及LAC号组合成一个小区全球识别码&#xff0c;用来在全球范围内唯一识别某一小区。 EARFCN 中心频点 若一个区域的基站中心频点都相同&#xff0c;表示是同频部署。若一个区域的基站中心频点交叉分布&…