Junior — Middle
Hogyan lehet egy új elemet beszúrni egy dinamikus tömb (layer) középső részébe?
sobes.tech MI
Válasz az MI-től
Go nyelven, egy új elem beszúrásához egy szelet közepébe, létre kell hozni egy új szeletet, amely összeköti a beszúrás előtti és utáni részeket, valamint a beszúrandó elemet. Például, hogy az x elemet a s szelet i pozíciójára helyezzük:
s = append(s[:i], append([]T{x}, s[i:]...)...)
Itt, T a szelet elemtípusa. Ez a módszer így működik:
- Vesszük az elejétől
ipozícióig tartó részt (nem tartalmazva azi-t):s[:i] - Létrehozunk egy szeletet egyetlen
xelemmel:[]T{x} - Vesszük a
ipozíciótól a végéig tartó részt:s[i:] - A belső
appendösszeköti a beszúrandó elemet és a szelet végét - A külső
appendmindent az elejére tesz
Példa:
s := []int{1, 2, 4, 5}
x := 3
i := 2
s = append(s[:i], append([]int{x}, s[i:]...)...)
// most az s: [1 2 3 4 5]
Ez a standard módszer a szelet közepébe való beszúráshoz Go nyelven.