Javaシミュレーションの一方向チェーンテーブルと双方向チェーンテーブルの実現
以下に示すJavaシミュレーションの一方向チェーンテーブルの実装
次に、Javaシミュレーション双方向チェーンテーブルの実装を示します.
package com.jadyer.sort;
/**
*
* @author
* @editor Jan 23, 2012 7:55:21 PM
* @see ==================================================================================================
* @see 【 : 】
* @see 1) , : 、 、 、 、 、
* @see 2) , : 、
* @see ==================================================================================================
* @see 【 : 】
* @see 1)
* @see 2) " " , " "
* @see 3) , 。 ,
* @see 4) n (a1,a2,a3,...,an), n (n>=0),n=0
* @see ==================================================================================================
* @see 【 : 】
* @see 1) : 。
* @see , ,
* @see , ArrayList
* @see 2) : 。
* @see ==================================================================================================
* @see 【stack】
* @see (stack) ,
* @see ,
* @see (LIFO) , (top), (bottom)
* @see ==================================================================================================
* @see 【Queue】
* @see (Queue) ,
* @see ,
* @see (FIFO) , (Rear), (Front)( )
* @see ==================================================================================================
*/
class NodeOneWay {
String data; //
NodeOneWay next; //
public NodeOneWay(){}
public NodeOneWay(String data){
this.data = data;
}
}
/**
*
* @author
* @editor Jan 23, 2012 7:56:51 PM
*/
public class NodeOneWayTest {
public static void main(String[] args) {
NodeOneWay node11 = new NodeOneWay("node11_data");
NodeOneWay node22 = new NodeOneWay("node22_data");
NodeOneWay node33 = new NodeOneWay("node33_data");
node11.next = node22; //
node22.next = node33;
System.out.println(node11.next.next.data); // node11 node33 data
/**
* node44 , node11 node22
*/
NodeOneWay node44 = new NodeOneWay("node44_data");
node11.next = node44; // node11 node44
node44.next = node22; // node44 node22
System.out.println(node11.next.next.next.data); // node11 node33 data
System.out.println(node11.next.next.data); // node11 node22 data
/**
* node44
*/
node11.next = node22; // node11 node22,node44 node22
node44.next = null;
System.out.println(node11.next.next.data); // node11 node33 data
}
}
次に、Javaシミュレーション双方向チェーンテーブルの実装を示します.
package com.jadyer.sort;
/**
*
* @author
* @editor Jan 23, 2012 8:16:34 PM
* @see java.util.ArrayList ,
* @see java.util.LinkedList ,
* @see , ,
* @see add/remove ,LinkedList , get ,ArrayList
*/
class NodeTwoWay {
NodeTwoWay previous; //
String data; //
NodeTwoWay next; //
public NodeTwoWay(){}
public NodeTwoWay(String data){
this.data = data;
}
}
/**
*
* @author
* @editor Jan 23, 2012 8:21:33 PM
*/
public class NodeTwoWayTest {
public static void main(String[] args) {
NodeTwoWay node11 = new NodeTwoWay("node11_data");
NodeTwoWay node22 = new NodeTwoWay("node22_data");
NodeTwoWay node33 = new NodeTwoWay("node33_data");
node11.previous = node33; //
node11.next = node22;
node22.previous = node11;
node22.next = node33;
node33.previous = node22;
node33.next = node11;
/**
* node44 , node11 node22
*/
NodeTwoWay node44 = new NodeTwoWay("node44_data");
node44.previous = node11;
node44.next = node22;
node11.next = node44;
node22.previous = node44;
/**
* node44
*/
node44.previous = null;
node44.next = null;
node11.next = node22;
node22.previous = node11;
}
}