StepList.h
上传用户:onward9999
上传日期:2022-06-27
资源大小:989k
文件大小:1k
源码类别:

其他游戏

开发平台:

Visual C++

  1. // StepList.h: interface for the CStepList class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_STEPLIST_H__0142BEA0_2A62_11D4_9933_938D792DE10C__INCLUDED_)
  5. #define AFX_STEPLIST_H__0142BEA0_2A62_11D4_9933_938D792DE10C__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. struct STEPNODE //CStepList的结点
  10. {
  11. STEPNODE* left;
  12. STEPNODE* right;
  13. CStep* Data;
  14. };
  15. class CStepList 
  16. {
  17. public:
  18. CStepList();
  19. virtual ~CStepList(); //收回内存
  20. void Remove(); //删除m_pCur 后的所有结点(不包括*m_pCur)
  21. void Go(CStep*step); //先Remove();然后增加一结点
  22. void RemoveAll(); //删除所有结点(不包括*m_pHead)
  23. BOOL IsEnd(); //m_pCur是否最后一结点
  24. BOOL IsHead(); //m_pCur是否等于m_pHead
  25. CStep* Redo(); //m_pCur后退一结点
  26. CStep* Undo(); //m_pCur前进一结点
  27. protected:
  28. STEPNODE* m_pHead; //栈底
  29. STEPNODE* m_pCur; //栈尾(插入|删除 端)
  30. };
  31. #endif // !defined(AFX_STEPLIST_H__0142BEA0_2A62_11D4_9933_938D792DE10C__INCLUDED_)