zoukankan      html  css  js  c++  java
  • 二叉排序树之按大小遍历

    从大到小按递减顺序输出所有关键字不小于x的数据元素

    递归方法

    #include "stdafx.h"
    #include<iostream>
    using namespace std;
    typedef struct BSTreeNode
    {
    	int data;
    	struct BSTreeNode *lchild,*rchild;
    }BSTree;
    int _tmain(int argc, _TCHAR* argv[])
    {
    	return 0;
    }
    void output(BSTree *bst,int x)
    {
    	if(bst)
    	{
    		if(bst->data>=x)output(bst->rchild,x);
    		if(bst->data>=x)cout<<bst->data;
    		if(bst->data>=x)output(bst->lchild,x);
    	}
    }
    

     非递归方法

    #include "stdafx.h"
    #include<iostream>
    using namespace std;
    typedef struct BSTreeNode
    {
    	int data;
    	struct BSTreeNode *lchild,*rchild;
    }BSTree;
    int _tmain(int argc, _TCHAR* argv[])
    {
    	return 0;
    }
    void output(BSTree *bst,int x)
    {
    	BSTree *s[100],*p=bst;
    	int top=-1;
    	while(p||top>-1)
    	{
    		while(p)
    		{
    			if(p->data>=x)
    			{
    				s[++top]=p;
    				bst=p->rchild;
    			}
    		}
    		if(top>-1)
    		{
    			p=s[top--];
    			if(p->data>=x)
    				cout<<p->data;
    			if(p->data>=x)
    				p=p->lchild;
    		}
    	}
    }
    
  • 相关阅读:
    安装Python及pip
    关于软件测试培训
    终于也为自己开了技术博客
    全球地址联动js包2021最新
    约瑟夫斯问题
    添加二级域名
    mysql导出数据
    mysql导入数据
    shopify
    MySQL数据库简介及常用命令
  • 原文地址:https://www.cnblogs.com/tgkx1054/p/2657819.html
Copyright © 2011-2022 走看看