在WPF的Canvas上繪制二叉樹


二叉樹是數據結構最重要的部分之一,數據結構據說是學習編程的基礎課程,雖然好像和平時工作關系不大,但面試時面試官很喜歡出點數據結構算法來刁難你。

一直以來,寫算法好像只是C/C++的事,一串串數字輸出在冰冷的手術台,sorry,是控制台上。但中間的過程,只能畫在草紙上,或者像下盲棋一樣用用腦汁算。其實我們多數人並不需要到高手的那個境界,只要會走法,能走兩步就夠了,所以有一個棋盤的話會對我們練習幫助很大。

下面是我在WPF窗口上畫的一個二叉樹:

image

每個節點都是一個Canvas,里面又包含一個Ellipse和TextBlock。

節點通過Margin屬性來定位。在遞歸顯示時,先計算子節點的Margin,然后再通過父節點和子節點的Margin算出連線的起點和終點坐標。需要注意的是,從上到下,樹枝叉的角度要依次遞減,不然可能會出現節點重疊或樹枝相交。

雖然剛開始接觸WPF,不過看起來不算太難,呵呵。

下載地址請點擊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM