存储过程里的递归 实现方法
一个二叉树的递归,找出左边最下面的一个点
id 自动编号
pid 父ID
id_path 节点路径
flg 位置,0左边,1右边
ALTER PROCEDURE [dbo].[get_class]
@class int,
@return int output
AS
SELECT @return=isnull(( select top 1 id from class where pid=@class and flg=0 ),-2)
if @return>-1
begin
exec get_class @return,@return output--这里为什么要用@return,你要最后得到这个值,必须把它传进去
end
else
begin
SELECT @return=@class
end
GO
其实只需一个查询语句就能找出最下面的ID
节点路径包函1,并且父节点位置都是左边,取出最大一个
select top 1 * from class a where id_path like '%1,%' and flg=0 and (select flg from class where id=a.pid)=0 order by id desc
相关推荐
-
存储过程里的递归 实现方法
一个二叉树的递归,找出左边最下面的一个点 id 自动编号 pid 父ID id_path 节点路径 flg 位置,0左边,1右边 ALTER PROCEDURE [dbo].[get_class] 复制代码 代码如下: @class int, @return int output AS SELECT @return=isnull(( select top 1 id from class where pid=@class and flg=0 ),-2) if @retu
-
Java开发深入分析讲解二叉树的递归和非递归遍历方法
目录 前言 1.递归遍历 2.非迭代遍历 3.二叉树的统一迭代法 前言 二叉树的遍历方法分为前序遍历,中序遍历,后续遍历,层序遍历. 1.递归遍历 对于递归,就不得不说递归三要素:以前序遍历为例 递归入参参数和返回值 因为要打印出前序遍历节点的数值,所以参数里需要传入List在放节点的数值,除了这一点就不需要在处理什么数据了也不需要有返回值,所以递归函数返回类型就是void,代码如下: public void preorder(TreeNode root, List<Integer> resu
-
Python多层嵌套list的递归处理方法(推荐)
问题:用Python处理一个多层嵌套list ['and', 'B', ['not', 'A'],[1,2,1,[2,1],[1,1,[2,2,1]]], ['not', 'A', 'A'],['or', 'A', 'B' ,'A'] , 'B'] 需求1)如何展开成一层? 需求2)如何删除重复的元素? 包括重复的list, 要考虑子list的重复元素删除后造成的子list重复 #!/usr/bin/env python # -*- coding: utf-8 -*- def unilist(l
-
Python实现从脚本里运行scrapy的方法
本文实例讲述了Python实现从脚本里运行scrapy的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: #!/usr/bin/python import os os.environ.setdefault('SCRAPY_SETTINGS_MODULE', 'project.settings') #Must be at the top before other imports from scrapy import log, signals, project from scrapy.x
-
python二分查找算法的递归实现方法
本文实例讲述了python二分查找算法的递归实现方法.分享给大家供大家参考,具体如下: 这里先提供一段二分查找的代码: def binarySearch(alist, item): first = 0 last = len(alist)-1 found = False while first<=last and not found: midpoint = (first + last)//2 if alist[midpoint] == item: found = True else: if ite
-
去除html代码里面的script正则方法
去除html代码里面的script正则方法 /** * 去除html代码里面的脚本字符(<script ...>...</script>和<script ... /> * @author ob * */ public class Regex { /** * @param args */ public static void main(String[] args) { //注意,这里有大小写 String s = "<script type='text/j
-
JavaScript通过join函数连接数组里所有元素的方法
本文实例讲述了JavaScript通过join函数连接数组里所有元素的方法.分享给大家供大家参考.具体实现方法如下: <script type="text/javascript"> var days = ["Sunday","Monday","Tuesday","Wednesday", "Thursday","Friday","Saturday&
-
php用ini_get获取php.ini里变量值的方法
本文实例讲述了php用ini_get获取php.ini里变量值的方法.分享给大家供大家参考.具体分析如下: 要得到php.ini里的变量值,当然,你可以用phpinfo();来得到所有php配置信息,但如果要想得到某个变量值的话,你又要怎样获取呢? php里提供一个获取php.ini里的变量值的函数:ini_get() ini_get()的用法非常简单,下面通过实例说明它是如何使用的. 语法: string ini_get ( string varname ) 返回值如果为布尔型则为0或1 实例
-
Python实现在线程里运行scrapy的方法
本文实例讲述了Python实现在线程里运行scrapy的方法.分享给大家供大家参考.具体如下: 如果你希望在一个写好的程序里调用scrapy,就可以通过下面的代码,让scrapy运行在一个线程里. """ Code to run Scrapy crawler in a thread - works on Scrapy 0.8 """ import threading, Queue from twisted.internet import reac
-
python清除字符串里非数字字符的方法
本文实例讲述了python清除字符串里非数字字符的方法.分享给大家供大家参考.具体如下: import re s = "how19 a*re 254y**ou?" # Using regular expressions print re.sub("\D", "", s) 希望本文所述对大家的Python程序设计有所帮助.
随机推荐
- vue.js表格分页示例
- ThinkPHP模版引擎之变量输出详解
- linux使用gcc编译c语言共享库步骤
- mysql数据库备份命令分享(mysql压缩数据库备份)
- php的access操作类
- JavaScript让IE浏览器event对象符合W3C DOM标准
- PowerShell实现动态获取当前脚本运行时消耗的内存
- PHP中的output_buffering详细介绍
- MSHTA漏洞为黑客大开远程控制之门(图)
- Laravel5.5中利用Passport实现Auth认证的方法
- 解决maven启动Spring项目报错的问题
- PyCharm配置mongo插件的方法
- 如何在Python中实现goto语句的方法
- 易语言系统日期修改方式
- 实例讲解易语言合并整数
- 深入了解Django中间件及其方法
- Android开发之基于RecycleView实现的头部悬浮控件
- 基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
- python机器学习实现决策树
- 利用C#编写扫雷游戏(附源码)