「java数据结构舞会配对」舞伴配对问题数据结构

博主:adminadmin 2023-01-25 00:48:14 523

今天给各位分享java数据结构舞会配对的知识,其中也会对舞伴配对问题数据结构进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java数据结构问题

//他是把二叉树存在一个连式结构的queue队列里面了

public boolean judge() {

QueueBiTNodeAnyType q = new LinkedListBiTNodeAnyType();//建立一个队列用来存贮二叉树

int cnt = 0;//某个计数器

m = 0;

BiTNodeAnyType p = rootNode;//根节点  rootNode怎么获取的你没有写出来

if (p != null)//如果根节点不为空就在队列中先插入根节点

q.add(p);//这样子整个树就进入queue了

while (!q.isEmpty()) {//队列不为空,也就是开始插入东西了。的时候

System.out.println(q.element().data);//不解释

BiTNodeAnyType node = q.remove();//弹出一个数据  这里面应该会持有他的左边和右边对应的指针。

a[m++] = node;//扔数组中

BiTNodeAnyType leftChild = node.leftChild;//获取当前节点的左子节点

if (leftChild != null)//如果不为空

q.add(leftChild);        //加入队列中

else

a[m++] = null;//否则,当前节点认为是空,放入数组中

BiTNodeAnyType rightChild = node.rightChild;//同理 右节点

if (rightChild != null)

q.add(rightChild);

else

a[m++] = null;//输出到这一步,数组中保存了根节点,以及第一层的状态

//中左右这种中序遍历,此时如果q下面还有东西,就继续。

//a[m]中保存的应该就是中序遍历下来的所有节点。

}

for (int i = 0; i  m; i++) {//遍历a[m]

if (a[i] != null) {

if (a[i].leftChild == null  a[i].rightChild != null) {//这里只判断左子树为空但是右边不为空的情况,

//貌似不会出现相反的情况? 就这样咯。。

return false;

} else {

cnt++;

}

}

}

System.out.println(cnt + " " + m);

if (cnt == this.countNode(rootNode)) {

return true;

}

return true;

}

设计一个Java语言算法判别一个算术表达式的圆括号是否正确配对

ScriptEngineManager sem = new ScriptEngineManager ();

ScriptEngine se = sem.getEngineByName ("js");

String jsonstr = "3*(1+1)/((2-1)+87";

try

{

System.out.println (se.eval (jsonstr));

}

catch (ScriptException e)

{

System.out.println ("圆括号不配对");

}

java有什么数据结构可以保存“一对多”关系的?

没有直接一个键对应多个值的,但是可以想一些办法。\x0d\x0a比如把指定键所对应的值用一个组合数据来表示。\x0d\x0aexample:\x0d\x0aimport java.util.Map;\x0d\x0aimport java.util.HashMap;\x0d\x0aimport java.util.ArrayList;\x0d\x0a\x0d\x0apublic class Example {\x0d\x0a \x0d\x0a private static Map map;\x0d\x0a private static ArrayList teacherList;\x0d\x0a private static ArrayList studentList;\x0d\x0a \x0d\x0a public static void main(String [] args) {\x0d\x0a map = new HashMap();\x0d\x0a teacherList = new ArrayList();\x0d\x0a studentList = new ArrayList();\x0d\x0a map.put("teacher", teacherList);\x0d\x0a map.put("student", studentList);\x0d\x0a teacherList.add("张三");\x0d\x0a teacherList.add("李四");\x0d\x0a studentList.add("王五");\x0d\x0a studentList.add("赵六");\x0d\x0a System.out.println("教师姓名:" + map.get("teacher"));\x0d\x0a System.out.println("学生姓名:" + map.get("student"));\x0d\x0a }\x0d\x0a}

关于java数据结构舞会配对和舞伴配对问题数据结构的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。