资源简介
算法导论实验二.rar

代码片段和文件信息
#include
#include
#include
#include
#include
#define NUMBER_SIZE 150
char inputpath[] =“../input/input_numbers.txt“; //路径名
char preorderpath[] =“../output/size20/preorder.txt“;
char inorderpath[] =“../output/size20/inorder.txt“;
char postorderpath[] =“../output/size20/postorder.txt“;
char time1path[] =“../output/size20/time1.txt“;
char deletedatapath[] =“../output/size20/delete_data.txt“;
char time2path[] =“../output/size20/time2.txt“;
char deleteinorderpath[]=“../output/size20/delete_inorder.txt“;
int num[150]; //全局数组
enum ColorTypedef {
RED
BLACK
};
typedef struct RBTREENODE{ //定义树节点结构
int data;
int size;
enum ColorTypedef color;
struct RBTREENODE *left;
struct RBTREENODE *right;
struct RBTREENODE *p;
}rbTreeNode;
typedef struct RBTREE{
rbTreeNode *root;
rbTreeNode *nil;
}rbTree;
/************************************随机生成数据********************************/
void dataRandProduce( ){
int ij;
FILE *fp;
if( ( fp = fopen( inputpath “w“ ) ) == NULL ){
printf( “file open failure !\n“ );
}else{
srand( time( NULL ) );
num[0] = 1 + rand( ) % NUMBER_SIZE;
for( i = 1; i < NUMBER_SIZE; i++ ){ //每次生成一个数与之前生成过的所有数比较,若相同
num[i] = 1 + rand( ) % NUMBER_SIZE; //则重新生成
for( j = 0; j < i; j++ ){
if( num[i] == num[j] ){
i--;
break;
}
}
}
for( i = 0; i < NUMBER_SIZE; i++ ){
fprintf( fp “%d\n“ num[i] );
}
}
fclose( fp );
}
/************************************红黑树初始化********************************/
rbTree * RBTreeInit( ){
rbTree *T = NULL;
T = ( rbTree * ) malloc ( sizeof( rbTree ) );
if( T == NULL ){
printf( “T has no space !\n“ );
}
T->nil = ( rbTreeNode * ) malloc ( sizeof( rbTreeNode ) );
if( T->nil == NULL ){
printf( “T->nil has no space !\n“ );
}
T->root = T->nil;
T->nil->data = NULL;
T->nil->size = 0;
T->nil->color = BLACK;
T->nil->left = NULL;
T->nil->right = NULL;
T->nil->p = NULL;
return T;
}
/************************************红黑树左旋和右旋********************************/
static void leftRotate( rbTree *T rbTreeNode * x ){ //红黑树左旋
rbTreeNode *y = x->right;
x->right = y->left;
if( y->left != T->nil )
y->left->p = x;
y->p = x->p;
if( x->p == T->nil )
T->root = y;
else if( x == x->p->left )
x->p->left = y;
else
x->p->right = y;
y->left = x;
x->p = y;
y->size = x->size;
x->size = x->left->size + x->right->size +1;
}
static void rightRotate( rbTree *T rbTreeNode *x ){ //红黑树右旋
rbTreeNode * y = x->left;
x->left = y->right;
if( y->right != T->nil )
y->right->p = x;
y->p = x->p;
if( x->p == T->nil )
T->root = y;
else if( x == x->p->left )
x->p->left = y;
else
x->p->right = y;
y->right = x;
x->p = y;
x->size = y->size;
y->size = y->left->size + y->right->size +
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 642 2016-11-09 19:18 PB14011022-project2\input\input_numbers.txt
文件 46 2016-11-09 19:18 PB14011022-project2\output\size20\delete_data.txt
文件 75 2016-11-09 19:18 PB14011022-project2\output\size20\delete_inorder.txt
文件 83 2016-11-09 19:18 PB14011022-project2\output\size20\inorder.txt
文件 83 2016-11-09 19:18 PB14011022-project2\output\size20\postorder.txt
文件 83 2016-11-09 19:18 PB14011022-project2\output\size20\preorder.txt
文件 96 2016-11-11 22:06 PB14011022-project2\output\size20\time1.txt
文件 72 2016-11-11 22:07 PB14011022-project2\output\size20\time2.txt
文件 46 2016-11-09 19:18 PB14011022-project2\output\size40\delete_data.txt
文件 162 2016-11-09 19:18 PB14011022-project2\output\size40\delete_inorder.txt
文件 170 2016-11-09 19:18 PB14011022-project2\output\size40\inorder.txt
文件 170 2016-11-09 19:18 PB14011022-project2\output\size40\postorder.txt
文件 170 2016-11-09 19:18 PB14011022-project2\output\size40\preorder.txt
文件 192 2016-11-11 22:07 PB14011022-project2\output\size40\time1.txt
文件 71 2016-11-11 22:07 PB14011022-project2\output\size40\time2.txt
文件 46 2016-11-09 19:18 PB14011022-project2\output\size60\delete_data.txt
文件 249 2016-11-09 19:18 PB14011022-project2\output\size60\delete_inorder.txt
文件 257 2016-11-09 19:18 PB14011022-project2\output\size60\inorder.txt
文件 257 2016-11-09 19:18 PB14011022-project2\output\size60\postorder.txt
文件 257 2016-11-09 19:18 PB14011022-project2\output\size60\preorder.txt
文件 288 2016-11-11 22:08 PB14011022-project2\output\size60\time1.txt
文件 72 2016-11-11 22:08 PB14011022-project2\output\size60\time2.txt
文件 46 2016-11-09 19:18 PB14011022-project2\output\size80\delete_data.txt
文件 333 2016-11-09 19:18 PB14011022-project2\output\size80\delete_inorder.txt
文件 341 2016-11-09 19:18 PB14011022-project2\output\size80\inorder.txt
文件 341 2016-11-09 19:18 PB14011022-project2\output\size80\postorder.txt
文件 341 2016-11-09 19:18 PB14011022-project2\output\size80\preorder.txt
文件 383 2016-11-11 22:10 PB14011022-project2\output\size80\time1.txt
文件 71 2016-11-11 22:11 PB14011022-project2\output\size80\time2.txt
文件 17306 2016-11-08 20:25 PB14011022-project2\source\ex.cpp
............此处省略13个文件信息
- 上一篇:异步电机经典PI控制
- 下一篇:Leyou.rar
相关资源
- 价值2k的H漫画小说系统
- Pythonamp;课堂amp;笔记(高淇amp;400;集第
- ddos压力测试工具99657
- UML建模大全
- 开源1A锂电池充电板TP4056原理图+PCB
- m1卡 ic卡可选择扇区初始化加密软件
- TSCC.exe
- FTP课程设计(服务端+客户端)
- 计算机图形学 边填充算法实现代码
- 电力系统潮流计算程序集合
- oracle数据迁移项目实施方案
- Web Api 通过文件流 文件到本地
- Visio图标-最新最全的网络通信图标库
- Spire API文档
- OpenGL参考手册
- Python中Numpy库最新教程
- SPD博士V5.3.exe
- 直流无刷电机方波驱动 stm32 例程代码
- layui后台管理模板
- 仿知乎界面小程序源代码
- 云平台-阿里云详细介绍
- photoshop经典1000例
- scratch垃圾分类源码(最终版本).sb
- IAR ARM 7.8破解
- TI CCS V5.4 安装步骤及破解文件
- 松下plc FP-XH的驱动
- 局域网硬件信息收集工具
- 加快Windows XP操作系统开机速度
- 联想启天M4350 BIOS升级文件
- 操作系统教程课后答案华中科技大学
评论
共有 条评论