十字鏈表(Orthogonal List)是有向圖的另外一種鏈式存儲結構。該結構能夠當作是將有向圖的鄰接表和逆鄰接表結合起來獲得的。用十字鏈表來存儲有向圖,能夠達到高效的存取效果。同時,代碼的可讀性也會獲得提高。測試
用鏈表模擬矩陣的行(或者列,這能夠根據我的喜愛來定),而後,再構造表明列(或者是行)的鏈表,將每一行中的元素節點插入到對應的列中去。十字鏈表的邏輯結構就像是一個圍棋盤(沒見過,你就想一下蒼蠅拍,這個總見過吧!),而非零元就好像是在棋盤上放的棋子,總共佔的空間就是,肯定那些線的表頭節點和那些棋子表明的非零元節點。最後,咱們用一個指針指向這個棋盤,這個指針就表明了這個稀疏矩陣。指針