资源简介
数据结构(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实现
- 下一篇:永磁电机设计软件
相关资源
- 基于MFC的TCP调试助手源码95706
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- 安科瑞智能电能表MODBUS通讯程序 VC6
- 学校超市选址问题(数据结构C语言版
- VC++MFC小游戏实例教程(实例)+MFC类库
- 数据结构,迷宫问题C语言版源代码
- DSDEMO-C演示(数据结构C语言版 严蔚敏
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 九齐单片机源码
- 商品库存管理系统 C++ MFC
- Qt画图工具源码(qgraphics draw)
- c++ 多功能计算器
- qt 串口助手源码
- C++17 In Detail
评论
共有 条评论