


- package main
-
- import "fmt"
-
- type ValNode struct {
- row int
- col int
- val int
- }
-
- func main() {
- var chessMap [10][10]int
- chessMap[1][2] = 1
- chessMap[2][3] = 2
-
- var arr []ValNode
- val := ValNode{
- row: 11,
- col: 11,
- val: 0,
- }
- arr = append(arr, val)
-
- for i, v := range chessMap {
- for j, v2 := range v {
- if v2 != 0 {
- arr = append(arr, ValNode{
- row: i,
- col: j,
- val: v2,
- })
- }
- }
- }
- fmt.Println(":::::当前的稀疏数组是:::::")
-
- show(arr)
-
- fmt.Println(":::::还原后的数组:::::")
- var chessMap2 [11][11]int
- for i, valNode := range arr {
- if i != 0 { // 跳过第一行记录值
- chessMap2[valNode.row][valNode.col] = valNode.val
- }
- }
-
- for _, k := range chessMap2 {
- fmt.Println(k)
- }
-
- }
-
- func show(m []ValNode) {
- for _, v := range m {
-
- fmt.Println(v)
- }
- }
