資源簡介
算法導(dǎo)論實(shí)驗(yàn)二.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]; //全局?jǐn)?shù)組?
enum?ColorTypedef?{
RED
BLACK
};
typedef?struct?RBTREENODE{ //定義樹節(jié)點(diǎn)結(jié)構(gòu)?
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;
/************************************隨機(jī)生成數(shù)據(jù)********************************/?
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? num[i]?=?1?+?rand(?)?%?NUMBER_SIZE; //則重新生成?
for(?j?=?0;?j? if(?num[i]?==?num[j]?){
i--;
break;
}
}
}
for(?i?=?0;?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個文件信息
- 上一篇:異步電機(jī)經(jīng)典PI控制
- 下一篇:Leyou.rar
評論
共有 條評論