change heap array
This commit is contained in:
@@ -96,19 +96,24 @@ func (arr *Array3) Cap() int {
|
||||
}
|
||||
|
||||
func (arr *Array3) Grow(size int) {
|
||||
arr.zsize += size
|
||||
temp := make([][][]interface{}, arr.zsize, arr.zsize)
|
||||
zsize := arr.zsize + size
|
||||
temp := make([][][]interface{}, zsize, zsize)
|
||||
copy(temp, arr.data)
|
||||
arr.data = temp
|
||||
|
||||
tempysizes := make([]int, arr.zsize, arr.zsize)
|
||||
tempysizes := make([]int, zsize, zsize)
|
||||
copy(tempysizes, arr.ysizes)
|
||||
arr.ysizes = tempysizes
|
||||
|
||||
tempxsizes := make([][]int, arr.ysize, arr.ysize)
|
||||
tempxsizes := make([][]int, zsize, zsize)
|
||||
copy(tempxsizes, arr.xsizes)
|
||||
arr.xsizes = tempxsizes
|
||||
|
||||
for i := arr.zsize; i < zsize; i++ {
|
||||
arr.xsizes[i] = make([]int, arr.ysize, arr.ysize)
|
||||
}
|
||||
|
||||
arr.zsize += size
|
||||
arr.cap = arr.zsize * arr.xyproduct
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user