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

📄 order.h

📁 几种排序算法的动画演示,包括冒泡排序,选择排序,插入排序,快速排序,堆排序,支持单步演示,
💻 H
字号:
#pragma once
#define State_Stop 0
#define State_Break 1
#define State_Run 2
#define Work_None 0
#define Work_Bubble 1
#define Work_Insert 2
#define Work_Select 3
#define Work_Quick 4
#define Work_Heap 5
#define Work_Add 6
#define Work_Find 7
struct BTNode
{
	int value;
	BTNode * left,* right;
	int mark;
	BTNode(int v=0)
	{
		mark=0;
		value=v;
		left=right=NULL;
	}
};
class COrder
{
public:
	COrder();
	~COrder();
	int State;
	int Work;
	int Interval;
	int First(void);
	int Next(void);
	void Paint(HWND hWndDest);
	int ToAdd;
	int Depth(void);
	int Arrow[32];
	int ti;
	int n;
private:
	HDC hDC;
	HBITMAP hBitmap,hBitmapOld;
	HFONT hFont,hFontOld;
	int Width,Height;
	HWND hWnd;
	int Current[32];
	int Finish[32];
	int Step;
	int m;
	int i;
	int j;
	int f;
	int u,d;
	int adjust;
	int p;
	BTNode * Root,* Cur;
	
	void SelectFirst(void);
	int SelectNext(void);
	void SelectDraw(void);
	void BubbleFirst(void);
	int BubbleNext(void);
	void BubbleDraw(void);
	void InsertFirst(void);
	int InsertNext(void);
	void InsertDraw(void);
	void QuickFirst(void);
	int QuickNext(void);
	void QuickDraw(void);
	void HeapFirst(void);
	int HeapNext(void);
	void HeapDraw(void);
	
	void DrawSrc(void);
	void Cls(int x,int y,int cx,int cy,DWORD Color);
	void DrawVar(void);
	void DrawNode(int node, int x, int w, int y);
	int Depth(BTNode * node);
	void TreeDraw(void);
	void DrawBTNode(BTNode * node, int x, int w, int y);
	void TreeReset(BTNode * node);
public:
	int ToFind;
	BTNode *Parent;
	void AddFirst(void);
private:
	int AddNext(void);
	void FindFirst(void);
	int FindNext(void);
};

⌨️ 快捷键说明

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