Bird
Raised Fist0
Swiftprogramming~10 mins

Array operations (append, insert, remove) in Swift - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Array operations (append, insert, remove)
Start with empty array
↓
Append element
→Array grows by 1 at end
↓
Insert element at index
→Shift elements right from index
↓
Remove element at index
→Shift elements left from index
↓
Array updated with changes
↓
End
This flow shows how an array starts empty, then elements are added at the end or inserted at a position, and elements can be removed by shifting others.
Execution Sample
Swift
var arr = [Int]()
arr.append(10)
arr.insert(5, at: 0)
arr.remove(at: 1)
print(arr)
This code creates an empty array, adds 10 at the end, inserts 5 at the start, removes the element at index 1, then prints the array.
Execution Table
StepOperationArray StateIndex/ValueAction
1Initialize[]-Create empty array
2Append[10]Value=10Add 10 at end
3Insert[5, 10]Value=5, Index=0Insert 5 at index 0, shift 10 right
4Remove[5]Index=1Remove element at index 1 (10), shift left
5Print[5]-Output final array
💡 All operations done, array is [5]
Variable Tracker
VariableStartAfter Step 2After Step 3After Step 4Final
arr[][10][5, 10][5][5]
Key Moments - 3 Insights
Why does inserting at index 0 shift the existing elements?
Because arrays keep order, inserting at index 0 moves existing elements right to make space, as shown in step 3 of the execution_table.
What happens if we remove an element at an index?
The element at that index is removed and elements after it shift left to fill the gap, as seen in step 4 of the execution_table.
Why does append add the element at the end?
Append always adds to the end without shifting, growing the array size, shown in step 2 of the execution_table.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the array after step 3?
A[5]
B[10, 5]
C[5, 10]
D[10]
💡 Hint
Check the 'Array State' column at step 3 in the execution_table.
At which step does the array size decrease?
AStep 4
BStep 3
CStep 2
DStep 5
💡 Hint
Look for the step where an element is removed in the execution_table.
If we insert at index 1 instead of 0 in step 3, what would the array be?
A[5, 10]
B[10, 5]
C[10, 5, 10]
D[10]
💡 Hint
Think about where the new element goes and how existing elements shift.
Concept Snapshot
Array operations in Swift:
- append(value): adds value at the end
- insert(value, at: index): adds value at index, shifts right
- remove(at: index): removes element at index, shifts left
Arrays keep order and size changes accordingly.
Full Transcript
We start with an empty array. Append adds an element at the end, growing the array. Insert adds an element at a specific index and shifts existing elements right to keep order. Remove deletes an element at an index and shifts elements left to fill the gap. The final array reflects all these changes.

Practice

(1/5)
1. What does the append method do in a Swift array?
easy
A. Removes the last element from the array
B. Adds a new element to the end of the array
C. Inserts an element at the beginning of the array
D. Clears all elements from the array

Solution

  1. Step 1: Understand the append method

    The append method adds a new element to the end of the array, increasing its size by one.
  2. Step 2: Compare with other options

    Removing elements or inserting at the beginning are done by other methods, not append.
  3. Final Answer:

    Adds a new element to the end of the array -> Option B
  4. Quick Check:

    append = add at end [OK]
Hint: append always adds at the end of the array [OK]
Common Mistakes:
  • Confusing append with insert
  • Thinking append removes elements
  • Assuming append adds at the start
2. Which of the following is the correct way to insert the number 10 at index 2 in a Swift array named numbers?
easy
A. numbers.insert(10, at: 2)
B. numbers.append(10, at: 2)
C. numbers.add(10, index: 2)
D. numbers.insertAt(2, 10)

Solution

  1. Step 1: Recall the insert syntax in Swift

    The correct syntax is array.insert(element, at: index), so numbers.insert(10, at: 2) is correct.
  2. Step 2: Check other options for syntax errors

    Options A, B, and D use incorrect method names or argument orders.
  3. Final Answer:

    numbers.insert(10, at: 2) -> Option A
  4. Quick Check:

    insert(element, at: index) syntax [OK]
Hint: Use insert(element, at: index) to add anywhere [OK]
Common Mistakes:
  • Using append with index
  • Wrong method names like add or insertAt
  • Swapping argument order
3. What will be the output of the following Swift code?
var fruits = ["Apple", "Banana", "Cherry"]
fruits.append("Date")
fruits.remove(at: 1)
print(fruits)
medium
A. ["Banana", "Cherry", "Date"]
B. ["Apple", "Banana", "Cherry", "Date"]
C. ["Apple", "Cherry", "Date"]
D. ["Apple", "Date"]

Solution

  1. Step 1: Append "Date" to the fruits array

    After append, fruits = ["Apple", "Banana", "Cherry", "Date"].
  2. Step 2: Remove element at index 1

    Index 1 is "Banana", so removing it results in ["Apple", "Cherry", "Date"].
  3. Final Answer:

    ["Apple", "Cherry", "Date"] -> Option C
  4. Quick Check:

    append + remove(at: 1) = ["Apple", "Cherry", "Date"] [OK]
Hint: Append adds end; remove(at:) deletes by index [OK]
Common Mistakes:
  • Removing wrong index
  • Forgetting append adds element
  • Confusing remove(at:) with removeLast()
4. Identify the error in this Swift code snippet:
var numbers = [1, 2, 3]
numbers.remove(at: 3)
medium
A. Cannot remove elements from an array
B. Syntax error due to missing parentheses
C. No error, code runs fine
D. Index out of range error because index 3 does not exist

Solution

  1. Step 1: Check array indexes

    Array 'numbers' has indexes 0, 1, 2. Index 3 is out of range.
  2. Step 2: Understand remove(at:) behavior

    Calling remove(at: 3) causes a runtime error because the index is invalid.
  3. Final Answer:

    Index out of range error because index 3 does not exist -> Option D
  4. Quick Check:

    remove(at:) needs valid index [OK]
Hint: Check array size before remove(at:) [OK]
Common Mistakes:
  • Using invalid index without checking
  • Assuming remove(at:) can remove non-existing index
  • Confusing syntax errors with runtime errors
5. Given an empty Swift array var items = [String](), which sequence of operations will result in ["Pen", "Book", "Eraser"]?
hard
A. items.insert("Pen", at: 0)
items.insert("Book", at: 1)
items.insert("Eraser", at: 2)
B. items.append("Pen")
items.insert("Book", at: 0)
items.append("Eraser")
C. items.append("Pen")
items.append("Book")
items.insert("Eraser", at: 1)
D. items.insert("Pen", at: 1)
items.append("Book")
items.append("Eraser")

Solution

  1. Step 1: Start with empty array and insert "Pen" at index 0

    items = ["Pen"]
  2. Step 2: Insert "Book" at index 1 and "Eraser" at index 2

    items = ["Pen", "Book", "Eraser"]
  3. Step 3: Check other options for correctness

    items.append("Pen")
    items.insert("Book", at: 0)
    items.append("Eraser"): append "Pen" -> ["Pen"]; insert "Book" at 0 -> ["Book", "Pen"]; append "Eraser" -> ["Book", "Pen", "Eraser"] (wrong order).
    items.append("Pen")
    items.append("Book")
    items.insert("Eraser", at: 1): append "Pen", append "Book" -> ["Pen", "Book"]; insert "Eraser" at 1 -> ["Pen", "Eraser", "Book"] (wrong order).
    items.insert("Pen", at: 1)
    items.append("Book")
    items.append("Eraser"): insert "Pen" at 1 on empty array -> index out of range error.
  4. Final Answer:

    items.insert("Pen", at: 0)
    items.insert("Book", at: 1)
    items.insert("Eraser", at: 2)
    -> Option A
  5. Quick Check:

    Insert at correct indexes builds array [OK]
Hint: Insert at indexes 0,1,2 to build array step-by-step [OK]
Common Mistakes:
  • Inserting at invalid index in empty array
  • Confusing append and insert order
  • Assuming insert can add beyond current size
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard