[ {
"id": "510489e1acab613446b69034eada2943",
"number": "1",
"name": "模块(一)",
"superclass": "0",
"superclass_name": "无",
"higrade": "",
"lograde": "",
"remark": "",
"standard": "科学性和创新性"
},
{
"id": "b273cb4050abf959a823ff07ef95deec",
"number": "1.1",
"name": "管理方法",
"superclass": "510489e1acab613446b69034eada2943",
"superclass_name": "模块(一)",
"higrade": "10",
"lograde": "",
"remark": "",
"standard": "所应用的管理方法(技术)符合普遍性认知的科学规律,符合质量品牌管理发展趋势。"
},
{
"id": "35362a8ba4fbe04a9e23496806910dea",
"number": "1.1.1",
"name": "大萨达",
"superclass": "b273cb4050abf959a823ff07ef95deec",
"superclass_name": "管理方法",
"higrade": "",
"lograde": "",
"remark": "",
"standard": ""
},
{
"id": "1cf9f7ec5fb807d5477765c8ddb5b310",
"number": "1.2",
"name": "创新性经验",
"superclass": "510489e1acab613446b69034eada2943",
"superclass_name": "模块(一)",
"higrade": "15",
"lograde": "",
"remark": "",
"standard": "在管理方法(技术)本身或(和)应用过程中有创新性经验(成果)。"
},
{
"id": "bc230f233763864c200c465d24feb9ed",
"number": "1.3",
"name": "核心内容",
"superclass": "510489e1acab613446b69034eada2943",
"superclass_name": "模块(一)",
"higrade": "10",
"lograde": "",
"remark": "",
"standard": "能成功应用该管理方法(技术)的核心内容,且逻辑清晰,内容完整。"
}]
上面的数据格式,我新插入一条数据,新插入如果higrade 不为空,且superclass是1.1.1,如果1.1.1的higrade为空,继续找1.1.1的上一级,就是一直向上找直到找到superclass为0为止,这样的递归算法怎么写
我理解一下哈,你的意思是不是插入的时候使用了变量赋值的方法,比如说,查询出数据来,放在一个变量里面,然后把这个变量用一个insert语句插入表,如果是这样的,当有空值出现时,该变量会被赋值为空,不会保留上一次的结果。
个别编程语言会有这个缺陷,例如PB就有这个问题,所以。通常来说好的变成习惯应该是每次变量是用前都初始化,在使用结束后都销毁或者回收。
希望回答可以帮到你。
你可以一次次遍历去查,不过我感觉在前端这样比较麻烦,后端实现比较方便
最好不要把递归和多层循环之类的放在客户端,容易浏览器崩溃
<?xml version="1.0" encoding="UTF-8"?>
课 程 管 理
添加知识点
1
240
380
1
knowdotadd.jsp
0
课 程 管 理
课 程 查 询
0
280
340
1
courseselect.jsp
1
查 询
系 统 日 志
0
280
340
1
Systemnote.jsp
0
查 询
用 户 查 询
0
280
340
1
userselect.jsp
1
初始化
添加用户
1
200
380
1
useradd.jsp
0
初始化
添加课程
1
200
380
1
courseadd.jsp
1
<?xml version="1.0" encoding="UTF-8"?>
课 程 管 理
添加知识点
1
240
380
1
knowdotadd.jsp
0
课 程 管 理
课 程 查 询
0
280
340
1
courseselect.jsp
1
查 询
系 统 日 志
0
280
340
1
Systemnote.jsp
0
查 询
用 户 查 询
0
280
340
1
userselect.jsp
1
初始化
添加用户
1
200
380
1
useradd.jsp
0
初始化
添加课程
1
200
380
1
courseadd.jsp
1
package edf;
/*
菜单节点类
*/
public class menunode {
private String parentmenu;// 伏击菜单名
private String menutext;// 菜单名
private String pop;// 是否是唐初窗口
private String end;//是否结束
private Integer width;//窗口宽度
private Integer height;//窗口高度
public String getPop() {
return pop;
}
public void setPop(String pop) {
this.pop = pop;
}
private String flags;// 是否可见 1可见
private String url;// 跳转的URL
public String getMenutext() {
return menutext;
}
public void setMenutext(String menutext) {
this.menutext = menutext;
}
public String isFlags() {
return flags;
}
public void setFlags(String flags) {
this.flags = flags;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getParentmenu() {
return parentmenu;
}
public void setParentmenu(String parentmenu) {
this.parentmenu = parentmenu;
}
public String getEnd() {
return end;
}
public void setEnd(String end) {
this.end = end;
}
public Integer getWidth() {
return width;
}
public void setWidth(Integer width) {
this.width = width;
}
public Integer getHeight() {
return height;
}
public void setHeight(Integer height) {
this.height = height;
}
}
先写个节点类,然后在生成