package main
import (
"fmt"
)
type Node struct {
row int
col int
val int
}
func main() {
var vail [7][9]int
vail[2][8] = 5
vail[5][3] = 6
for _, row := range vail {
for _, v := range row {
print(v, " ")
}
println()
}
var sparseArray []Node
sparseArray = append(sparseArray, Node{
row: len(vail),
col: len(vail[0]),
})
for i, row := range vail {
for j, v := range row {
if v != 0 {
sparseArray = append(sparseArray, Node{
row: i,
col: j,
val: v,
})
}
}
}
fmt.Println("当前的稀疏数组是:::::")
for i, v := range sparseArray {
fmt.Printf("%d: %d %d %d\n", i, v.row, v.col, v.val)
}
var vale = make([][]int, sparseArray[0].row)
for i := 0; i < len(vale); i++ {
vale[i] = make([]int, sparseArray[0].col)
}
for i, v := range sparseArray {
if i != 0 {
vale[v.row][v.col] = v.val
}
}
fmt.Println(vale)
for _, row := range vale {
for _, v := range row {
fmt.Print(v, " ")
}
println()
}
}