卜若的代碼筆記-數據結構系列-第九章:鏈表體系實現類圖

1.鏈表實現類圖 

2.操作元素的實現類圖

 

我們可以看到,當我們企圖依託於數據結構去實現某些解決策略的時候,我們不需要再構造一個複雜的新鏈表,比如我們的RevenueTable,去實現營業額的統計時,我們不會再重寫它的插入,刪除方法,我們只希望在遍歷的時候自動實現某些操作,這樣我們繼承之後實現就很舒服了。

在第七章裏面的營業額的代碼,我們看一下,其實僅僅只需要:幾行代碼,就能夠實現。

這就是多態的魅力。而我這種寫法,也叫做模板模式。有興趣的同學可以去了解一下。當數據結構和設計模式結合在一起,你去解決很多問題,就會非常非常簡單!!

package DoubleDirTable;


import com.table.line.SingleElement;
import com.table.line.SumSingleTable;

public class RevenueTable extends OperationDDTable {
    public RevenueTable(int value) {
        super(value);
    }

    public int sum;
    @Override
    public int operation(IntDoubleDirElement intDoubleDirElement) {

        IntDoubleDirElement selectElement = intDoubleDirElement.getNext();
        SumSingleTable t1 = new SumSingleTable();
        while (selectElement!= null) {

            if (selectElement.getLast()!= null){

                int dfValue = selectElement.getValue() - selectElement.getLast().getValue();
                dfValue = Math.abs(dfValue);
                t1.add(new SingleElement(dfValue));
            }
            selectElement = selectElement.getLast();

        }
        sum+= t1.min();

        return 0;
    }

}

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章