当前位置: 首页>>代码示例>>C++>>正文


C++ MyQueue::AddQ方法代码示例

本文整理汇总了C++中MyQueue::AddQ方法的典型用法代码示例。如果您正苦于以下问题:C++ MyQueue::AddQ方法的具体用法?C++ MyQueue::AddQ怎么用?C++ MyQueue::AddQ使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MyQueue的用法示例。


在下文中一共展示了MyQueue::AddQ方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Levelorder

//Levelorder
void BS_Tree::Levelorder()
{	
	TreeNode *temp;	
	MyQueue S;
	
	temp = root;
	
	if(temp == NULL){
		printf("Tree is empty.\n");
	}
	else{
		S.AddQ(temp);
		while(true){
			temp = S.DelQ();			
			if(temp != NULL){
				printf("%d ",temp->key);
				if(temp->left != NULL){
					S.AddQ(temp->left);
				}
				if(temp->right != NULL){
					S.AddQ(temp->right);
				}		
			}
			else{
				break;
			}					
		}			
	}
}
开发者ID:shadow3x3x3,项目名称:C-DataStructure,代码行数:30,代码来源:complete_BST_linklist.cpp

示例2: Insert

//Insert
void BS_Tree::Insert(int key)
{	
	int i;
	
	TreeNode *temp,*newNode;
	MyQueue S;
	newNode = (TreeNode*) malloc(sizeof(TreeNode));
	newNode->key = key;
	newNode->right = NULL;
	newNode->left = NULL;
	
	temp = root;
	
	//root is empty
	if(root == NULL){
		root = newNode;	
	}
	//root isn't empty
	else{		
		S.AddQ(temp);	
		while(true){
			temp = S.DelQ();
			//LeftNode is empty 
			if(temp->left == NULL){
				temp->left = newNode;
				break;
			}
			//RightNode is empty
			else if(temp->right == NULL){
				temp->right = newNode;
				break;
			}
			else{
				S.AddQ(temp->right);
				S.AddQ(temp->left);
				continue;					
			}			
		}		
	}	
}
开发者ID:shadow3x3x3,项目名称:C-DataStructure,代码行数:41,代码来源:complete_BST_linklist.cpp


注:本文中的MyQueue::AddQ方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。