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

📄 sselect.cpp

📁 使用VS.NET开发的数据结构红黑树可视化图形界面演示。可以进行节点的添加及删除。
💻 CPP
字号:
// SSelect.cpp : 实现文件
//

#include "stdafx.h"
#include "RBTree.h"
#include "SSelect.h"
#include ".\sselect.h"
#include "MainFrm.h"


// CSSelect 对话框

IMPLEMENT_DYNAMIC(CSSelect, CDialog)
CSSelect::CSSelect(CWnd* pParent /*=NULL*/)
	: CDialog(CSSelect::IDD, pParent)
	, SEL_VALUE(0)
{
}

CSSelect::~CSSelect()
{
}

void CSSelect::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Text(pDX, IDC_SELECT, SEL_VALUE);
}


BEGIN_MESSAGE_MAP(CSSelect, CDialog)
	ON_COMMAND(ID_OS_SELECT, OnOsSelect)
	ON_BN_CLICKED(IDOK, OnBnClickedOk)
	ON_EN_CHANGE(IDC_SELECT, OnEnChangeSelect)
END_MESSAGE_MAP()


// CSSelect 消息处理程序

void CSSelect::OnOsSelect()
{
	// TODO: 在此添加命令处理程序代码
	
	
}

void CSSelect::OnBnClickedOk()
{
	if(UpdateData()==TRUE)
	{
		long num=SEL_VALUE;
		extern RBTree rbtree;
		RBTreeNode * root=rbtree.GetRoot();
		RBTreeNode * node =rbtree.OS_Select(root,num);
		if(node!=rbtree.Nil)
		{
			CString value;
			CString level;
			CString size;
			CString color;

			value.Format("值:%d ",node->value);
			level.Format("层次:%d ",node->level);
			size.Format("大小:%d ",node->size);
			
			if(node->color==RED)
				color.Format("颜色:红");
			else color.Format("颜色:黑");

			OnOK();

			AfxMessageBox("您寻找的节点为:"+value+size+level+color);
		}
		else
		{
			OnOK();
			AfxMessageBox("不存在这样的节点");
		}
	}
	
	
}

void CSSelect::OnEnChangeSelect()
{
	// TODO:  如果该控件是 RICHEDIT 控件,则它将不会
	// 发送该通知,除非重写 CDialog::OnInitDialog()
	// 函数并调用 CRichEditCtrl().SetEventMask(),
	// 同时将 ENM_CHANGE 标志“或”运算到掩码中。

	// TODO:  在此添加控件通知处理程序代码
}

⌨️ 快捷键说明

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