Test:Computer Science

Consider the following code:

import java.util.ArrayList;

public class MethodClass5 {

public static class BTNode {

public static final int PARSE_IN = 1;

public static final int PARSE_PRE = 2;

public static final int PARSE_POST = 3;

String name;

BTNode lPointer,rPointer;

public BTNode(String s) {

name = s;

lPointer = rPointer = null;

}

public void insert(String s) {

insert(this,s);

}

private static void insert(BTNode node,String s) {

int comparison = s.compareTo(node.name);

if(comparison < 0) {

if(node.lPointer != null) {

insert(node.lPointer,s);

} else {

node.lPointer = new BTNode(s);

}

} else if(comparison > 0) {

if(node.rPointer != null) {

insert(node.rPointer,s);

} else {

node.rPointer = new BTNode(s);

}

}

}

public ArrayList parse(final int parseOrder) {

return parse(this,parseOrder);

}

private static ArrayList parse(BTNode node, final int parseOrder) {

ArrayList retVal = new ArrayList();

if(node == null) {

return(retVal);

}

ArrayList leftList = parse(node.lPointer,parseOrder);

ArrayList rightList = parse(node.rPointer,parseOrder);

if(parseOrder == PARSE_PRE) {

retVal.add(node.name);

retVal.addAll(leftList);

retVal.addAll(rightList);

} else if (parseOrder == PARSE_POST) {

retVal.addAll(leftList);

retVal.addAll(rightList);

retVal.add(node.name);

} else {

retVal.addAll(leftList);

retVal.add(node.name);

retVal.addAll(rightList);

}

return retVal;

}

}

public static void main(String[] args) {

String[] names = {"Thomas Aquinas","Thomas Cajetan","Thomas Prufer","Thomas the Tank Engine","Thomas the Bread-Eater"};

BTNode node = new BTNode(names[0]);

for(int i = 1; i < names.length; i++) {

node.insert(names[i]);

}

ArrayList traversedNames = node.parse(BTNode.PARSE_POST);

for(String s : traversedNames) {

System.out.println(s);

}

}

}

1.

What is the output for themainmethod above?

Thomas Aquinas

Thomas the Tank Engine

Thomas Prufer

Thomas the Bread-Eater

Thomas Cajetan

Thomas the Bread-Eater

Thomas the Tank Engine

Thomas Prufer

Thomas Cajetan

Thomas Aquinas

Thomas the Bread-Eater

Thomas Aquinas

Thomas the Tank Engine

Thomas Prufer

Thomas Cajetan

Thomas Aquinas

Thomas Cajetan

Thomas Prufer

Thomas the Bread-Eater

Thomas the Tank Engine

Thomas the Tank Engine

Thomas Prufer

Thomas the Bread-Eater

Thomas Aquinas

Thomas Cajetan

1/3 questions

0%

Access results and powerful study features!

Take 15 seconds to create an account.
现在就开始!Create your free account and get access to features like:
  • Full length diagnostic tests
  • 邀请你的朋友
  • 访问数以百计的实践测试
  • Monitor your progress over time
  • Manage your tests and results
  • Monitor the progress of your class & students
By clicking Create Account you agree that you are at least 13 years old and you agree to the Varsity Tutors LLCTerms of UseandPrivacy Policy.
Learning Tools by Varsity Tutors