go語言陣列動態擴容

2021-09-27 12:49:04 字數 1083 閱讀 1897

package main

import (

"errors"

"fmt"

)//定義陣列結構體

type array struct

//為陣列分配空間

func newarray(capacity uint) *arrayelse }}

//獲得陣列長度

func (this *array)len() int

//判斷索引是否越界

func (this *array)isindexoutofrange(index uint) boolelse

}//在陣列中找尋索引值

func (this *array)find(index uint) (int, error)else

}//陣列制定位置插入數值

func (this *array) insert(index uint, v int) error

if index != uint(this.length) && this.isindexoutofrange(index)

for i := this.length; i > int(index); i--

this.data[index] = v

this.length++

return nil

}//陣列尾部插入數值

func (this *array) inserttotail(value int)error

//刪除索引值

func (this *array) delete(index uint) (int, error)

v := this.data[index]

for i := index; i < uint(this.len())-1; i++

this.length--

return v, nil

}//列印陣列

func (this *array)printarray()

fmt.printf("\n")

}func main()

} arr.printarray()

}

為動態陣列擴容

問題及 檔名稱 test.cpp 作 者 李尚澤 完成日期 2014年12月16日 版 本 號 v1.0 問題描述 利用動態陣列儲存學生的成績,當再有一批學生成績需要儲存時,要為之擴容。includeusing namespace std int main int num,i,addnum num是...

ArrayList動態陣列 擴容機制

當建立乙個arraylist物件時可以不傳引數,arraylist會自己初始化乙個預設 size,private static final int default capacity 10 當呼叫該物件中add 時會先將判斷自己陣列大小 盡量自己估算乙個與自己專案儲存的資料大小相差不大的值,避免多次擴...

Go語言 陣列

定義陣列的長度和型別,預設使用型別的零值進行初始化 var a1 10 int 不指定陣列的長度,指定型別,缺省會使用初始值設定陣列的長度 初始值有幾個,陣列長度就是幾 var a2 int 指定陣列的長度和型別,同時初始化全部或者部分的數字,元素會從前到後順序初始化 初始化時物件的數量不能大於陣列...