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

📄 ds_btreedlg.h

📁 数据结构B树算法的演示程序 包括添加删除节点
💻 H
字号:
// DS_BTreeDlg.h : header file
//

#if !defined(AFX_DS_BTREEDLG_H__6EB02AC5_2114_46BF_9584_8285BCA17FB1__INCLUDED_)
#define AFX_DS_BTREEDLG_H__6EB02AC5_2114_46BF_9584_8285BCA17FB1__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "BTree.h" 
#include <time.h>
#include <stdlib.h>

/////////////////////////////////////////////////////////////////////////////
// CDS_BTreeDlg dialog

class CDS_BTreeDlg : public CDialog
{
// Construction
public:
	CDS_BTreeDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CDS_BTreeDlg)
	enum { IDD = IDD_DS_BTREE_DIALOG };
	CButton	m_CreateRandNode;
	CSpinButtonCtrl	m_RandSpin;
	int		m_DeleteData;
	int		m_InsertData;
	int		m_RandCount;
	int		m_NodeCount;
	int		m_TreeKey;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDS_BTreeDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CDS_BTreeDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnSetTreeKey();
	afx_msg void OnInsertNode();
	afx_msg void OnDeleteNode();
	afx_msg void OnCreateRandNode();
	afx_msg void OnEraseall();
	afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()


private:
	BTree* m_pBTree;
	CClientDC  *m_DrawDC;
	CScrollBar *m_hScroll;
	CStatic *m_Board;
	int pos_x;
	int m_NodeWidth;  //结点的宽
	int m_DeepHeight; //结点的高
	int m_NodeHeight; //树各层之间的距离
	int m_MaxWidth;   //画所有节点最大的宽度
	CRect m_VisRect;
	CPen m_Pen;
	void DrawNode(BTreeNode *node);
	void DrawLine(BTreeNode *node);
	void CreateBTree(int key);
	void SetNodePos();
	void SetParentNodePos(queue<BTreeNode*> & que);
	void GetLeafNodeQue(queue<BTreeNode*> & que);
public:
	void DrawDetail();
	void SetDC();
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_DS_BTREEDLG_H__6EB02AC5_2114_46BF_9584_8285BCA17FB1__INCLUDED_)

⌨️ 快捷键说明

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