⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bimunit.cpp

📁 读入树状结构,是计算机系c语言设计必考内容之一,大家应好好研究这个源程序
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
int BALLSIZE=8;
int SearchNumber=0;
bool COMPEL=false;                           
#include "BiMUnit.h"
#include "BinaryClass.cpp"
//---------------------------------------------------------------------------
#pragma resource "*.dfm"
TBinaryMainForm *BinaryMainForm;

CBinaryTree MyTree;
CBinaryNode *selectedTreeNode;
CBinaryNode *LastselectedTreeNode;

//int data[14]={23,45,13,78,1,22,2,66,12,76,88,19,34,54};
int FTreeData[7]={100,50,150,180,130,25,75};
int LSkewTreeData[5]={75,85,95,125,150};
int RSkewTreeData[5]={75,60,50,30,15};


int data[11]={23,45,13,78,1,22,2,66,12,76,55};





//---------------------------------------------------------------------------
__fastcall TBinaryMainForm::TBinaryMainForm(TComponent* Owner)
	: TForm(Owner)
{
      BinaryMainForm->Width=560;
      BinaryMainForm->Height=380;

      DrawTreePadImage->Width=BinaryMainForm->Width-24;
      DrawTreePadImage->Height=BinaryMainForm->Height-70;

      Bevel1->Width=DrawTreePadImage->Width+6;
      Bevel1->Height=DrawTreePadImage->Height+6;
      ControlSelectionComboBox->ItemIndex=0;
      SelectANewTreeComboBox->ItemIndex=0;



}
//---------------------------------------------------------------------------
void __fastcall TBinaryMainForm::FormResize(TObject *Sender)
{

   int ButtonWidth=SearchButton->Width+16;

   if(BinaryMainForm->Width<420)
      BinaryMainForm->Width=420;

  // if(BinaryMainForm->Height<380)
      BinaryMainForm->Height=380;

   if(BinaryMainForm->Width>560)
      BinaryMainForm->Width=560;

   //if(BinaryMainForm->Height>420)
  //    BinaryMainForm->Height=420;

    DrawTreePadImage->Width=BinaryMainForm->Width-24;
    DrawTreePadImage->Height=BinaryMainForm->Height-70;

    Bevel1->Width=DrawTreePadImage->Width+8;
    Bevel1->Height=DrawTreePadImage->Height+6;

   InputEdit->Top=ControlSelectionComboBox->Top=SearchButton->Top=SelectANewTreeComboBox->Top=InsertButton->Top=DrawTreePadImage->Height+DrawTreePadImage->Top+6;

   SelectANewTreeComboBox->Left=BinaryMainForm->Width-ButtonWidth;
   SearchButton->Left=BinaryMainForm->Width-ButtonWidth*2;
   InsertButton->Left=BinaryMainForm->Width-ButtonWidth*3;
   ControlSelectionComboBox->Left=BinaryMainForm->Width-ButtonWidth*5;
   InputEdit->Left=12;


   DrawTreePadImage->Canvas->Pen->Color=clWhite;
   DrawTreePadImage->Canvas->Brush->Color = clBlack;
   DrawTreePadImage->Canvas->Rectangle(0,0,DrawTreePadImage->Width,DrawTreePadImage->Height);
        MyTree.DrawTree(DrawTreePadImage->Width,
                        DrawTreePadImage->Height);
}
//---------------------------------------------------------------------------
void __fastcall TBinaryMainForm::FormCreate(TObject *Sender)
{


      for(int i = 0 ;i<11 ;i++)
      {
        MyTree.Insert(data[i]);
      }
}
//---------------------------------------------------------------------------
void __fastcall TBinaryMainForm::DrawTreePadImageMouseDown(TObject *Sender,
	TMouseButton Button, TShiftState Shift, int X, int Y)
{
    if(COMPEL){
        DrawTreePadImage->Canvas->Pen->Color=clWhite;
        DrawTreePadImage->Canvas->Brush->Color = clBlack;
        DrawTreePadImage->Canvas->Rectangle(0,0,DrawTreePadImage->Width,DrawTreePadImage->Height);
        MyTree.DrawTree(DrawTreePadImage->Width,
                        DrawTreePadImage->Height);
         MyTree.setAllNodeLabel_FALSE();
      COMPEL=false;
      VisualSearchLabel->Visible=false;
    }

    if(Button==mbLeft)
    {
       selectedTreeNode=MyTree.SearchNodePosition(X,Y);

       if(selectedTreeNode)
       {
          if(LastselectedTreeNode)
                   LastselectedTreeNode->SetNodeShowStatus(false,
                                                    MyTree.getX_Step(),MyTree.getY_Step());

           ///////  盢砆匡

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -