什么是十字链表?
十字鏈表是一種存儲稀疏矩陣的方法,該存儲方式采用的是 "鏈表+數組" 結構,如圖1 所示。
圖 1 十字鏈表示意圖
?
可以看到,使用十字鏈表壓縮存儲稀疏矩陣時,矩陣中的各行各列都各用一各鏈表存儲,與此同時,所有行鏈表的表頭存儲到一個數組(rhead),所有列鏈表的表頭存儲到另一個數組(chead)中。
因此,各個鏈表中節點的結構應如圖 2 所示:
圖 2 十字鏈表的節點結構
兩個指針域分別用于鏈接所在行的下一個元素以及所在列的下一個元素。
鏈表中節點的代碼可以表示為:
typedef struct OLNode{int i,j;//元素的行標和列標int data;//元素的值struct OLNode * right,*down;//兩個指針域}OLNode;總結
- 上一篇: dex2jar和jd-GUI的下载安装与
- 下一篇: html动态图片置于底层,求设置图片为“