欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java学习第23天

程序员文章站 2022-07-14 23:34:21
...

使用通用性队列。


	public void toDataArraysObjectQueue() {
		// Initialize arrays.
		int tempLength = getNumNodes();

		valuesArray = new char[tempLength];
		indicesArray = new int[tempLength];
		int i = 0;

		// Traverse and convert at the same time.
		CircleObjectQueue tempQueue = new CircleObjectQueue();
		tempQueue.enqueue(this);
		CircleObjectQueue tempIntQueue = new CircleObjectQueue();
		Integer tempIndexInteger = new Integer(0);
		tempIntQueue.enqueue(tempIndexInteger);

		BinaryCharTree tempTree = (BinaryCharTree) tempQueue.dequeue();
		int tempIndex = ((Integer) tempIntQueue.dequeue()).intValue();
		System.out.println("tempIndex = " + tempIndex);
		while (tempTree != null) {
			valuesArray[i] = tempTree.value;
			indicesArray[i] = tempIndex;
			i++;

			if (tempTree.leftChild != null) {
				tempQueue.enqueue(tempTree.leftChild);
				tempIntQueue.enqueue(new Integer(tempIndex * 2 + 1));
			} // Of if

			if (tempTree.rightChild != null) {
				tempQueue.enqueue(tempTree.rightChild);
				tempIntQueue.enqueue(new Integer(tempIndex * 2 + 2));
			} // Of if

			tempTree = (BinaryCharTree) tempQueue.dequeue();
			if (tempTree == null) {
				break;
			} // Of if

			tempIndex = ((Integer) tempIntQueue.dequeue()).intValue();
		} // Of while
	}// Of toDataArraysObjectQueue

public static void main(String args[]) {
	BinaryCharTree tempTree = manualConstructTree();
	System.out.println("\r\nPreorder visit:");
	tempTree.preOrderVisit();
	System.out.println("\r\nIn-order visit:");
	tempTree.inOrderVisit();
	System.out.println("\r\nPost-order visit:");
	tempTree.postOrderVisit();

	System.out.println("\r\n\r\nThe depth is: " + tempTree.getDepth());
	System.out.println("The number of nodes is: " + tempTree.getNumNodes());

	tempTree.toDataArrays();
	System.out.println("The values are: " + Arrays.toString(tempTree.valuesArray));
	System.out.println("The indices are: " + Arrays.toString(tempTree.indicesArray));

	tempTree.toDataArraysObjectQueue();
	System.out.println("Only object queue.");
	System.out.println("The values are: " + Arrays.toString(tempTree.valuesArray));
	System.out.println("The indices are: " + Arrays.toString(tempTree.indicesArray));
}
// Of main

 

相关标签: Java学习 java