2017-07-20 214 views
-2

我想使用LinkedList做垂直稀疏矩陣。所以我的意思是,矩陣的行與LinkedList節點相互連接。並且每個行節點都包含該行和值的索引。我的結構像;垂直稀疏矩陣使用LinkedList C++

struct Node { 
int index; 
int *values; 
}Node; 

如何指定當前行包含值的數組。它的單一鏈表。

+1

這不是一個回答你的問題,但作爲一個側面評論,我希望你知道這是關於[至少緩存友好(https://開頭計算器.com/questions/16699247/what-is-cache-friendly-code)存儲我能想到的稀疏矩陣的方法。任何使用這種矩陣的線性代數將是非常低效的。 – CoryKramer

+0

我知道。但是有可能嗎?我應該如何構建? –

回答

0

我認爲這不是實現矩陣的好方法,但如果你想嘗試一下,你可以用節點結構來實現。

struct node 
{ 
    int data; // data value at every node 
    int rowIndex; //index of row 
    struct node* next; // next pointer of each node 
    struct node* below; // will point to below row node 
} 

1 -> 2 -> 3 -> N 
 
| | | 
 
4 -> 5 -> 6 -> N 
 
| | | 
 
N N N