当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
2015年初级软考辅导:数据结构算法:多叉树的层次遍历算法
发布时间:2010/3/13 14:37:50 来源:城市学习网 编辑:MOON
  最近学习c++,越看越觉得以前所学只是皮毛.这几天正好有空闲就写点小算法玩玩.
  多叉树的层次遍历这个在网上有完整程序的好像不多.这次我就把写的贴出来,
  有兴趣的朋友一起来研究下.
  TreeNode.h文件
  #ifndef __TREENODE_
  #define __TREENODE_
  #include "StdAfx.h"
  #include
  #include
  #include
  #include
  using namespace std;
  class TreeNode
  {
  private:
  long selfID;
  string nodeName;
  list *p_childList;
  public:
  TreeNode();
  ~TreeNode();
  /*向当前节点中插入一个子节点*/
  void insertChildNode(TreeNode *treeNode);
  /*遍历树,层次遍历*/
  void LevelTraverse() ;
  //判断某个节点是否为叶子节点
  bool isLeaf();
  //返回当前节点的孩子集合
  list * getChildList();
  long getSelfId();
  void setSelfId(long selfID);
  string getNodeName();
  void setNodeName(string &nodeName);
  };
  //返回当前节点的孩子集合
  inline list * TreeNode::getChildList()
  {
  return p_childList;
  }
  inline long TreeNode::getSelfId()
  {
  return selfID;
  }
  inline void TreeNode::setSelfId(long selfID)
  {
  this-selfID = selfID;
  }
  inline string TreeNode::getNodeName()
  {
  return nodeName;
  }
  inline void TreeNode::setNodeName(string &nodeName)
  {
  this-nodeName = nodeName;
  }
  #endif
  TreeNode.cpp文件
  #include "stdafx.h"
  #include "TreeNode.h"
  TreeNode::TreeNode()
  {
  selfID = 0 ;
  nodeName = "";
  p_childList = NULL;
  }
  TreeNode::~TreeNode()
  {
  delete p_childList;
  }
  //判断某个节点是否为叶子节点
  bool TreeNode::isLeaf()
  {
  if (NULL == p_childList)
  {
  return true;
  }
  else
  {
  return false;
  }
  }
  /*向当前节点中插入一个子节点*/
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved