存储过程里的递归 实现方法
一个二叉树的递归,找出左边最下面的一个点
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程序设计有所帮助.
随机推荐
- MySQL性能优化之路---修改配置文件my.cnf
- laypage前端分页插件实现ajax异步分页
- myeclipse安装jQuery插件的方法
- IIS配置文件的XML格式不正确 applicationHost.config被破坏 恢复解决办法
- Eclipse Web项目打成war包的方法图解
- 图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
- 基于Java ActiveMQ的实例讲解
- mysql忘记密码怎么办(windows linux)
- 阿里云CentOS 6.5 安装Docker详细步骤
- jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
- Java中的抽象工厂模式_动力节点Java学院整理
- C# 绘制统计图大全(柱状图, 折线图, 扇形图)
- Android WebView或手机浏览器打开连接问题解决办法总结
- Python使用OpenCV进行标定
- JS使用Date对象实时显示当前系统时间简单示例
- 使用vue自定义指令开发表单验证插件validate.js
- python列表list保留顺序去重的实例
- python调用百度地图WEB服务API获取地点对应坐标值
- virtualbox虚拟机NAT模式下不能连接外网的解决方法
- 使用Spring Data Redis实现数据缓存的方法
