import "container/vector"
要素の線形配列を効率的に管理するコンテナを実装しています。配列とは異なり、vectorは動的にサイズを変更することができます。
パッケージファイル
intvector.go stringvector.go vector.go
IntVector型
IntVectorはint要素をラッピングしたVectorを取り扱います。
type IntVector struct {
Vector;
}
NewIntVector関数
func NewIntVector(len int) *IntVector
NewIntVectorは少なくともlenの長さを持つ、初期化済みの新しいIntVectorを返します。
(*IntVector) AppendVector関数
func (p *IntVector) AppendVector(x *IntVector)
AppendVectorはpの末尾にxの全てのIntVectorを追加します。
(*IntVector) At関数
func (p *IntVector) At(i int) int
Atはpのi番目の要素を返します。
(*IntVector) Data関数
func (p *IntVector) Data() []int
Dataは全要素をスライスとして返します。
(*IntVector) Init関数
func (p *IntVector) Init(len int) *IntVector
Initは新しいか、またはサイズ変更されたIntVectorを初期化します。初期サイズをデフォルト値にするにはlenに0以下の値を指定します。lenがIntVectorの現在のサイズよりも小さい場合はクリアされます。
(*IntVector) Insert関数
func (p *IntVector) Insert(i int, x int)
Insertはインデックスiの要素の前に要素xを挿入します。
(*IntVector) InsertVector関数
func (p *IntVector) InsertVector(i int, x *IntVector)
InsertVectorは挿入後はインデックスiの位置が挿入するxの0番目の要素となるようにxの内容を挿入します。
(*IntVector) Iter関数
func (p *IntVector) Iter() <-chan int
Iterは反復子のチャネルを返します。
(*IntVector) Last関数
func (p *IntVector) Last() int
Lastは最大インデックスの要素を返します。
(*IntVector) Less関数
func (p *IntVector) Less(i, j int) bool
Lessはi番目の要素がj番目の要素よりも小さいかどうかを比較し、boolean値を返します。
(*IntVector) Pop関数
func (p *IntVector) Pop() int
Popは末尾の要素を削除し、その要素の値を返します。
(*IntVector) Push関数
func (p *IntVector) Push(x int)
Pushは末尾にxを追加します。
(*IntVector) Set関数
func (p *IntVector) Set(i int, x int)
Setはi番目の要素へ値xをセットします。
(*IntVector) Slice関数
func (p *IntVector) Slice(i, j int) *IntVector
Sliceは元データをスライス(slice [i:j])することで新しいIntVectorを作成して、それを返します。要素はコピーされるため、元のpは変更されません。
LessInterface型
LessInterfaceはsort.Interfaceの部分的なサポートを提供します。
type LessInterface interface {
Less(y interface{}) bool;
}
StringVector型
StringVectorは文字列要素をラッピングしたVectorを取り扱います。
type StringVector struct {
Vector;
}
NewStringVector関数
func NewStringVector(len int) *StringVector
NewStringVectorは少なくともlenの長さを持つ、初期化済みの新しいStringVectorを返します。
(*StringVector) AppendVector関数
func (p *StringVector) AppendVector(x *StringVector)
AppendVectorはpの末尾にxの全てのStringVectorを追加します。
(*StringVector) At関数
func (p *StringVector) At(i int) string
Atはpのi番目の要素を返します。
(*StringVector) Data関数
func (p *StringVector) Data() []string
Dataは全要素をスライスとして返します。
(*StringVector) Init関数
func (p *StringVector) Init(len int) *StringVector
Initは新しいか、またはサイズ変更されたStringVectorを初期化します。初期サイズをデフォルト値にするにはlenに0以下の値を指定します。lenがStringVectorの現在のサイズよりも小さい場合はクリアされます。
(*StringVector) Insert関数
func (p *StringVector) Insert(i int, x string)
Insertはインデックスiの要素の前に要素xを挿入します。
(*StringVector) InsertVector関数
func (p *StringVector) InsertVector(i int, x *StringVector)
InsertVectorは挿入後はインデックスiの位置が挿入するxの0番目の要素となるようにxの内容を挿入します。
(*StringVector) Iter関数
func (p *StringVector) Iter() <-chan string
Iterは反復子のチャネルを返します。
(*StringVector) Last関数
func (p *StringVector) Last() string
Lastは最大インデックスの要素を返します。
(*StringVector) Less関数
func (p *StringVector) Less(i, j int) bool
Lessはi番目の要素がj番目の要素よりも小さいかどうかを比較し、boolean値を返します。
(*StringVector) Pop関数
func (p *StringVector) Pop() string
Popは末尾の要素を削除し、その要素の値を返します。
(*StringVector) Push関数
func (p *StringVector) Push(x string)
Pushは末尾にxを追加します。
(*StringVector) Set関数
func (p *StringVector) Set(i int, x string)
Setはi番目の要素へ値xをセットします。
(*StringVector) Slice関数
func (p *StringVector) Slice(i, j int) *StringVector
Sliceは元データをスライス(slice [i:j])することで新しいIntVectorを作成して、それを返します。要素はコピーされるため、元のpは変更されません。
Vector型
Vectorはコンテナです。ゼロ値のVectorは使用するための空のベクターを準備します。
type Vector struct {
// contains unexported fields
}
New関数
func New(len int) *Vector
Newは少なくともlenの長さを持つ、初期化済みの新しいVectorを返します。
(*Vector) AppendVector関数
func (p *Vector) AppendVector(x *Vector)
AppendVectorはpの末尾にxの全てのVectorを追加します。
(*Vector) At関数
func (p *Vector) At(i int) interface{}
Atはpのi番目の要素を返します。
(*Vector) Cut関数
func (p *Vector) Cut(i, j int)
Cutはiからj-1の要素を削除します。
(*Vector) Data関数
func (p *Vector) Data() []interface{}
Dataは全要素をスライスとして返します。
(*Vector) Delete関数
func (p *Vector) Delete(i int)
Deleteはi番目の要素を削除します。削除前のi+1の要素のインデックスがiとなり、削除による隙間が詰められます。
(*Vector) Do関数
func (p *Vector) Do(f func(elem interface{}))
Doは各要素毎に順番に関数fを呼び出します。関数でベクターの索引付けを変更すべきではありません。
(*Vector) Init関数
func (p *Vector) Init(initial_len int) *Vector
Initは新しいか、またはサイズ変更されたIntVectorを初期化します。初期サイズをデフォルト値にするにはlenに0以下の値を指定します。lenがVectorの現在のサイズよりも小さい場合はクリアされます。
(*Vector) Insert関数
func (p *Vector) Insert(i int, x interface{})
Insertはインデックスiの要素の前に要素xを挿入します。
(*Vector) InsertVector関数
func (p *Vector) InsertVector(i int, x *Vector)
InsertVectorは挿入後はインデックスiの位置が挿入するxの0番目の要素となるようにxの内容を挿入します。
(*Vector) Iter関数
func (p *Vector) Iter() <-chan interface{}
Iterは反復子のチャネルを返します。
(*Vector) Last関数
func (p *Vector) Last() interface{}
Lastは最大インデックスの要素を返します。
(*Vector) Len関数
func (p *Vector) Len() int
Lenは要素数を返します。p == nilの場合はLenは0となります。
(*Vector) Less関数
func (p *Vector) Less(i, j int) bool
Lessはi番目の要素がj番目の要素よりも小さいかどうかを比較し、boolean値を返します。
(*Vector) Pop関数
func (p *Vector) Pop() interface{}
Popは末尾の要素を削除し、その要素の値を返します。
(*Vector) Push関数
func (p *Vector) Push(x interface{})
Pushは末尾にxを追加します。
(*Vector) Set関数
func (p *Vector) Set(i int, x interface{})
Setはi番目の要素へ値xをセットします。
(*Vector) Slice関数
func (p *Vector) Slice(i, j int) *Vector
Sliceは元データをスライス(slice [i:j])することで新しいIntVectorを作成して、それを返します。要素はコピーされるため、元のpは変更されません。
(*Vector) Swap関数
func (p *Vector) Swap(i, j int)
Swapはインデックスiとjの要素を入れ替えます。
Trackback URL
Leave a comment
Comments