资源简介
数据结构(C++语言版)_第三版_邓俊辉 源码
代码片段和文件信息
/******************************************************************************************
* Data Structures in C++
* ISBN: 7-302-33064-6 & 7-302-33065-3 & 7-302-29652-2 & 7-302-26883-3
* Junhui DENG deng@tsinghua.edu.cn
* Computer Science & Technology Tsinghua University
* Copyright (c) 2006-2013. All rights reserved.
******************************************************************************************/
/******************************************************************************************
* Test of AVL Tree
******************************************************************************************/
#include “AVL_test.h“
/******************************************************************************************
* Test an AVL
******************************************************************************************/
template void testAVL ( int n ) {
AVL avl;
while ( avl.size() < n ) {
T e = dice ( ( T ) n * 3 ); //[0 3n)范围内的e
switch ( dice ( 3 ) ) {
case 0: { //查找,成功率 <= 33.3%
printf ( “Searching for “ ); print ( e ); printf ( “ ...\n“ );
BinNodePosi(T) & p = avl.search ( e );
p ?
printf ( “Found with“ ) print ( p ) printf ( “\n“ ) :
printf ( “Not found\n“ );
break;
}
case 1: { //删除,成功率 <= 33.3%
printf ( “Removing “ ); print ( e ); printf ( “ ...\n“ );
avl.remove ( e ) ? printf ( “Done\n“ ) print ( avl ) : printf ( “Not exists\n“ );
break;
}
default: {//插入,成功率 == 100%
printf ( “Inserting “ ); print ( e ); printf ( “ ...\n“ );
BinNodePosi(T) p = avl.insert ( e );
if ( p->data != e ) { print ( p->data ); printf ( “ <> “ ); print ( e ); printf ( “\n“ ); }
printf ( “Done with“ ) print ( p ) printf ( “\n“ ) print ( avl );
break;
}
}
}
while ( avl.size() > 0 ) {
T e = dice ( ( T ) n * 3 ); //[0 3n)范围内的e
printf ( “Removing “ ); print ( e ); printf ( “ ...\n“ );
avl.remove ( e ) ? printf ( “Done\n“ ) print ( avl ) : printf ( “Not exists\n“ );
}
}
/******************************************************************************************
* 测试主入口
******************************************************************************************/
int main ( int argc char* argv[] ) {
if ( 2 > argc ) { printf ( “Usage: %s \a\a\n“ argv[0] ); return 1; }
srand ( ( unsigned int ) time ( NULL ) );
testAVL ( atoi ( argv[1] ) ); //元素类型可以在这里任意选择
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-01-01 01:01 dsa\
目录 0 2015-01-01 01:01 dsa\src\
目录 0 2015-01-01 01:01 dsa\src\avl\
文件 753 2015-01-01 01:01 dsa\src\avl\avl.h
文件 5023 2015-01-01 01:01 dsa\src\avl\avl.vcproj
文件 1446 2015-01-01 01:01 dsa\src\avl\AVL.vcproj.user
文件 871 2015-01-01 01:01 dsa\src\avl\avl_implementation.h
文件 1387 2015-01-01 01:01 dsa\src\avl\avl_insert.h
文件 976 2015-01-01 01:01 dsa\src\avl\avl_macro.h
文件 1241 2015-01-01 01:01 dsa\src\avl\avl_remove.h
文件 572 2015-01-01 01:01 dsa\src\avl\avl_test.h
文件 2728 2015-01-01 01:01 dsa\src\avl\main.cpp
目录 0 2015-01-01 01:01 dsa\src\bintree\
文件 2262 2015-01-01 01:01 dsa\src\bintree\binnode.h
文件 1265 2015-01-01 01:01 dsa\src\bintree\binnode_implementation.h
文件 757 2015-01-01 01:01 dsa\src\bintree\binnode_insert.h
文件 550 2015-01-01 01:01 dsa\src\bintree\binnode_macro.h
文件 818 2015-01-01 01:01 dsa\src\bintree\binnode_macro_avl.h
文件 1696 2015-01-01 01:01 dsa\src\bintree\binnode_macro_basic.h
文件 772 2015-01-01 01:01 dsa\src\bintree\binnode_macro_redblack.h
文件 685 2015-01-01 01:01 dsa\src\bintree\binnode_size.h
文件 1069 2015-01-01 01:01 dsa\src\bintree\binnode_stretchbyzag.h
文件 869 2015-01-01 01:01 dsa\src\bintree\binnode_stretchbyzig.h
文件 1004 2015-01-01 01:01 dsa\src\bintree\binnode_succ.h
文件 1224 2015-01-01 01:01 dsa\src\bintree\binnode_travinorder.h
文件 1127 2015-01-01 01:01 dsa\src\bintree\binnode_travinorder_i1.h
文件 952 2015-01-01 01:01 dsa\src\bintree\binnode_travinorder_i2.h
文件 1255 2015-01-01 01:01 dsa\src\bintree\binnode_travinorder_i3.h
文件 1055 2015-01-01 01:01 dsa\src\bintree\binnode_travinorder_i4.h
文件 694 2015-01-01 01:01 dsa\src\bintree\binnode_travinorder_r.h
文件 979 2015-01-01 01:01 dsa\src\bintree\binnode_travlevel.h
............此处省略770个文件信息
- 上一篇:RSA算法加密MFC实现
- 下一篇:永磁电机设计软件
相关资源
- C++17 In Detail
- modbus 主机源码
- 《LINUX C编程从初学到精通》光盘源码
- 嵌入式QtC++编程课件
- OLED驱动源码
- tm1650+stm32f103源码(board_tm1650.c)
- 颜色识别形状识别STM103嵌入式代码
- cheat engine 7.2源码
- CrySearch内存搜索器源码
- 数据结构 图的遍历源代码
- 数据结构实验源代码集
- 实验报告:数据结构长整数四则运算
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- MFC视频播放器源码(支持avi/wma/mp3等格
- CreatBitmap图片合成源码
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
- VC++基于OpenGL模拟的一个3维空间模型
- c++ 虚拟摄像头
- vs2008 can总线通讯源码
- 宠物管理系统课程设计(源码+数据库
- hook,捕获所有案件,查找所有窗口,
- C语言课设计算器
- Windows扩展命令程序(源码)
- c语言实现火车订票系统(控制台)源
- 数据结构教程李春葆第五版书中例题
- 鼠标连点器(附源码)
评论
共有 条评论