Sobes.tech
Junior — Middle

Hoe voeg je een nieuw element toe aan het centrale deel van een dynamische array (laag)?

sobes.tech AI

Antwoord van AI

In Go, om een nieuw element in het midden van een slice te plaatsen, moet je een nieuwe slice maken die de delen vóór en na de insertiepositie combineert, samen met het te plaatsen element. Bijvoorbeeld, om het element x op positie i in slice s te plaatsen:

s = append(s[:i], append([]T{x}, s[i:]...)...)

Hier is T het type van de elementen in de slice. Deze methode werkt als volgt:

  1. Neem een slice van het begin tot aan positie i (exclusief i): s[:i]
  2. Maak een slice met één element x: []T{x}
  3. Neem een slice van positie i tot het einde: s[i:]
  4. De interne append combineert het toe te voegen element met de staart van de slice
  5. De externe append voegt alles toe aan het begin

Voorbeeld:

s := []int{1, 2, 4, 5}
x := 3
i := 2
s = append(s[:i], append([]int{x}, s[i:]...)...)
// s is nu: [1 2 3 4 5]

Dit is de standaardmethode om in het midden van een slice te plaatsen in Go.