Bird
Raised Fist0
C++programming~5 mins

Array traversal in C++

Choose your learning style10 modes available
Introduction

We use array traversal to look at or use each item in a list one by one. It helps us check or change all items easily.

When you want to print all items in a list.
When you need to find a specific item in a list.
When you want to add or change values in every item.
When you want to count how many items meet a condition.
When you want to copy items from one list to another.
Syntax
C++
class ArrayTraversal {
public:
    int* array;
    int size;

    ArrayTraversal(int* input_array, int input_size) {
        array = input_array;
        size = input_size;
    }

    void traverse() {
        for (int index = 0; index < size; index++) {
            // Access array[index] here
        }
    }
};

The class holds the array and its size.

The traverse() method uses a for loop to visit each item by its index.

Examples
Edge case: Empty array. The loop does not run because size is 0.
C++
int numbers[] = {};
int size = 0;
ArrayTraversal traversal(numbers, size);
traversal.traverse();
Edge case: Array with one element. The loop runs once.
C++
int numbers[] = {42};
int size = 1;
ArrayTraversal traversal(numbers, size);
traversal.traverse();
Normal case: Array with multiple elements. The loop runs for each element.
C++
int numbers[] = {10, 20, 30, 40};
int size = 4;
ArrayTraversal traversal(numbers, size);
traversal.traverse();
Sample Program

This program creates an array of 5 numbers. It then creates an ArrayTraversal object with this array and its size. The traverse() method prints each element with its index.

C++
#include <iostream>

class ArrayTraversal {
public:
    int* array;
    int size;

    ArrayTraversal(int* input_array, int input_size) {
        array = input_array;
        size = input_size;
    }

    void traverse() {
        std::cout << "Array elements:" << std::endl;
        for (int index = 0; index < size; index++) {
            std::cout << "Element at index " << index << ": " << array[index] << std::endl;
        }
    }
};

int main() {
    int numbers[] = {5, 10, 15, 20, 25};
    int size = sizeof(numbers) / sizeof(numbers[0]);

    ArrayTraversal traversal(numbers, size);

    std::cout << "Before traversal:" << std::endl;
    traversal.traverse();

    return 0;
}
OutputSuccess
Important Notes

Time complexity is O(n) because we visit each element once.

Space complexity is O(1) extra space since we only use a few variables.

Common mistake: Using wrong loop limits causing out-of-bounds errors.

Use array traversal when you need to process every item. For searching, you might stop early if found.

Summary

Array traversal means visiting each item in order.

Use a for loop with an index from 0 to size-1.

It helps to read, print, or change all items in the array.

Practice

(1/5)
1. What does array traversal mean in C++ programming?
easy
A. Visiting each element of the array one by one
B. Creating a new array with the same elements
C. Sorting the array elements in order
D. Deleting elements from the array

Solution

  1. Step 1: Understand the term 'array traversal'

    Array traversal means going through each element in the array in sequence.
  2. Step 2: Match the definition to the options

    Visiting each element of the array one by one correctly describes visiting each element one by one.
  3. Final Answer:

    Visiting each element of the array one by one -> Option A
  4. Quick Check:

    Array traversal = visiting elements in order [OK]
Hint: Traversal means visiting all elements one by one [OK]
Common Mistakes:
  • Confusing traversal with sorting
  • Thinking traversal means deleting elements
  • Mixing traversal with copying arrays
2. Which of the following is the correct syntax to traverse an array arr of size n in C++?
easy
A. for(int i = 1; i <= n; i++) { /* access arr[i] */ }
B. for(int i = n; i > 0; i--) { /* access arr[i] */ }
C. for(int i = 0; i <= n; i++) { /* access arr[i] */ }
D. for(int i = 0; i < n; i++) { /* access arr[i] */ }

Solution

  1. Step 1: Identify valid index range for array traversal

    Array indices in C++ start at 0 and go up to n-1, so loop should run from 0 to less than n.
  2. Step 2: Check each option's loop condition

    for(int i = 0; i < n; i++) { /* access arr[i] */ } uses i from 0 to i < n, which is correct. Others either start at 1 or go out of bounds.
  3. Final Answer:

    for(int i = 0; i < n; i++) { /* access arr[i] */ } -> Option D
  4. Quick Check:

    Loop from 0 to n-1 = correct traversal [OK]
Hint: Array indices start at 0, loop till less than size [OK]
Common Mistakes:
  • Starting loop at 1 instead of 0
  • Using <= n causing out-of-bounds access
  • Decrementing loop without correct index
3. What is the output of the following C++ code?
int arr[] = {2, 4, 6};
for(int i = 0; i < 3; i++) {
    std::cout << arr[i] << " ";
}
medium
A. 0 2 4 6
B. 2 4 6 0
C. 2 4 6
D. 6 4 2

Solution

  1. Step 1: Understand the loop and array elements

    The array has elements 2, 4, 6 at indices 0, 1, 2. The loop runs from i=0 to i=2.
  2. Step 2: Print elements in order

    Each iteration prints arr[i] followed by a space: 2, then 4, then 6.
  3. Final Answer:

    2 4 6 -> Option C
  4. Quick Check:

    Print elements in order = 2 4 6 [OK]
Hint: Loop prints elements in order from index 0 to 2 [OK]
Common Mistakes:
  • Expecting extra zero at end
  • Printing elements in reverse order
  • Confusing array indices with values
4. Identify the error in this C++ code snippet for array traversal:
int arr[4] = {1, 2, 3, 4};
for(int i = 0; i <= 4; i++) {
    std::cout << arr[i] << " ";
}
medium
A. Loop condition should be i < 4, not i <= 4
B. Array size should be 5 instead of 4
C. Loop variable i should start from 1
D. No error, code is correct

Solution

  1. Step 1: Check loop condition against array size

    The array has size 4, valid indices are 0 to 3. Loop runs while i <= 4, which includes i=4 (out of bounds).
  2. Step 2: Correct the loop condition

    Change condition to i < 4 to avoid accessing arr[4] which is invalid.
  3. Final Answer:

    Loop condition should be i < 4, not i <= 4 -> Option A
  4. Quick Check:

    Loop must stay within 0 to size-1 [OK]
Hint: Loop index must be less than array size, not less or equal [OK]
Common Mistakes:
  • Using <= instead of < causing out-of-bounds
  • Starting loop at 1 instead of 0
  • Increasing array size unnecessarily
5. Given an integer array arr of size n, which code snippet correctly calculates the sum of all elements using array traversal?
hard
A. int sum = arr[0]; for(int i = 1; i <= n; i++) { sum += arr[i]; }
B. int sum = 0; for(int i = 0; i < n; i++) { sum += arr[i]; }
C. int sum = 0; for(int i = 1; i < n; i++) { sum += arr[i]; }
D. int sum = 0; for(int i = 0; i <= n; i++) { sum += arr[i]; }

Solution

  1. Step 1: Initialize sum and loop correctly

    Sum should start at 0. Loop must run from i=0 to i < n to include all elements.
  2. Step 2: Check each option for correctness

    int sum = 0; for(int i = 0; i < n; i++) { sum += arr[i]; } initializes sum to 0 and loops correctly. Others either start sum wrong or loop out of bounds.
  3. Final Answer:

    int sum = 0; for(int i = 0; i < n; i++) { sum += arr[i]; } -> Option B
  4. Quick Check:

    Sum all elements from index 0 to n-1 [OK]
Hint: Start sum at 0 and loop from 0 to less than n [OK]
Common Mistakes:
  • Starting sum with arr[0] and looping incorrectly
  • Looping with i <= n causing out-of-bounds
  • Skipping first element by starting at i=1
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