Javaによるシングルチェーンテーブルデータ構造の実現

2959 ワード

暇なのに,何をしているのか分からない.書きましょう、ヒヒ!単鎖表、考えてみてください.まず、データとノードを含む単一チェーンテーブルです.ここで、データはデータを格納するために使用され、ノードは次のノードを格納するために使用される.このようにしてチェーンテーブル関係を構成することができます.なぜなら、次のチェーンテーブルを保存するだけなので、単一チェーンテーブルデータ構造と呼ばれています.前と後ろに保管されているなら、それは二重チェーン時計ですね.OK.じゃ、写真をください.PPTで描いてみます、ヒヒ!では、このようにすると、単一チェーンテーブルの結果になります.具体的にコードでどのように実習しますか?さあ、SingleLinkを直接新規作成します.JAvaファイルでしょう、ヒヒ!何年もこのようにコードを書いていませんよね!
public class SingleLink{
        
        //     
        private Node headNode = null;
        //     
        private Node preNode = null;
        
        
        //      ,   ,        ,       
        private class Node{
                Object data;//   
                Node nextNode;//      
        }
        
        
        //      ,        ,    ,        ?
        
        //        
        public void add(Object data){
                //       
                Node node = new Node();
                
                //    
                node.data = data;
                
                //            ,                。
                //         ,  ,         ,          。
                //  ,          ,  ,               。
                // ,  :
                if(headNode == null){
                        headNode = node;
                        preNode = headNode;
                }
                
                //           ,  ,               。
                preNode.nextNode = node;
                preNode = node;
        }
        
        //         
        public String showAllDatas(){
                StringBuilder sb = new StringBuilder();
                
                //        ,          
                Node tempNode = headNode;
                while(tempNode != null){
                        sb.append(tempNode.data +" ");
                        tempNode = tempNode.nextNode;
                }
                
                return sb.toString();
        }
        
}
それから、1つの主な関数でテストしてみましょう:
public class Test{
        
        public static void main(String[] args){
                //    SingleLink  ,     
                SingleLink sl = new SingleLink();
                
                //    
                sl.add(12);
                sl.add("bbs.sunofbeaches.com");
                sl.add(54);
                sl.add("www.sunofbeaches.com");
                

                //    
                System.out.println(sl.showAllDatas());
        }
        
}
また来て、コンパイルして実行します:
C:\Users\Administrator\Desktop>javac SingleLink.java

C:\Users\Administrator\Desktop>javac Test.java

C:\Users\Administrator\Desktop>java Test
12 bbs.sunofbeaches.com 54 www.sunofbeaches.com

C:\Users\Administrator\Desktop>
さわやかで、この世界はまたいくつかすばらしいのではないでしょうか?もちろん、このデータをソートすることもできます.このカスタムオブジェクトであれば、汎用型を指定し、サブクラスを比較する方法を定義する必要があります.比較するときは、インタフェースのメソッドを直接呼び出せばいいです.また比較結果に基づいて、データを保存します.ヒヒ!簡単じゃないですか.さあ、手を出して書いてください.あなたもできますよ.頑張れ、できないなら、討論を歓迎しますよ.