<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # package ring `import "container/ring"` ring實現了環形鏈表的操作。 ## Index * [type Ring](#Ring) * [func New(n int) \*Ring](#New) * [func (r \*Ring) Len() int](#Ring.Len) * [func (r \*Ring) Next() \*Ring](#Ring.Next) * [func (r \*Ring) Prev() \*Ring](#Ring.Prev) * [func (r \*Ring) Move(n int) \*Ring](#Ring.Move) * [func (r \*Ring) Link(s \*Ring) \*Ring](#Ring.Link) * [func (r \*Ring) Unlink(n int) \*Ring](#Ring.Unlink) * [func (r \*Ring) Do(f func(interface{}))](#Ring.Do) ## type [Ring](https://github.com/golang/go/blob/master/src/container/ring/ring.go#L14 "View Source") ``` type Ring struct { Value interface{} // 供調用者使用,本包不會操作該字段 // 包含隱藏或非導出字段 } ``` Ring類型代表環形鏈表的一個元素,同時也代表鏈表本身。環形鏈表沒有頭尾;指向環形鏈表任一元素的指針都可以作為整個環形鏈表看待。Ring零值是具有一個(Value字段為nil的)元素的鏈表。 ### func [New](https://github.com/golang/go/blob/master/src/container/ring/ring.go#L62 "View Source") ``` func New(n int) *Ring ``` New創建一個具有n個元素的環形鏈表。 ### func (\*Ring) [Len](https://github.com/golang/go/blob/master/src/container/ring/ring.go#L121 "View Source") ``` func (r *Ring) Len() int ``` Len返回環形鏈表中的元素個數,復雜度O(n)。 ### func (\*Ring) [Next](https://github.com/golang/go/blob/master/src/container/ring/ring.go#L26 "View Source") ``` func (r *Ring) Next() *Ring ``` 返回后一個元素,r不能為空。 ### func (\*Ring) [Prev](https://github.com/golang/go/blob/master/src/container/ring/ring.go#L34 "View Source") ``` func (r *Ring) Prev() *Ring ``` 返回前一個元素,r不能為空。 ### func (\*Ring) [Move](https://github.com/golang/go/blob/master/src/container/ring/ring.go#L44 "View Source") ``` func (r *Ring) Move(n int) *Ring ``` 返回移動n個位置(n&gt;=0向前移動,n&lt;0向后移動)后的元素,r不能為空。 ### func (\*Ring) [Link](https://github.com/golang/go/blob/master/src/container/ring/ring.go#L93 "View Source") ``` func (r *Ring) Link(s *Ring) *Ring ``` Link連接r和s,并返回r原本的后繼元素r.Next()。r不能為空。 如果r和s指向同一個環形鏈表,則會刪除掉r和s之間的元素,刪掉的元素構成一個子鏈表,返回指向該子鏈表的指針(r的原后繼元素);如果沒有刪除元素,則仍然返回r的原后繼元素,而不是nil。如果r和s指向不同的鏈表,將創建一個單獨的鏈表,將s指向的鏈表插入r后面,返回s原最后一個元素后面的元素(即r的原后繼元素)。 ### func (\*Ring) [Unlink](https://github.com/golang/go/blob/master/src/container/ring/ring.go#L111 "View Source") ``` func (r *Ring) Unlink(n int) *Ring ``` 刪除鏈表中n % r.Len()個元素,從r.Next()開始刪除。如果n % r.Len() == 0,不修改r。返回刪除的元素構成的鏈表,r不能為空。 ### func (\*Ring) [Do](https://github.com/golang/go/blob/master/src/container/ring/ring.go#L134 "View Source") ``` func (r *Ring) Do(f func(interface{})) ``` 對鏈表的每一個元素都執行f(正向順序),注意如果f改變了\*r,Do的行為是未定義的。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看