Bird
Raised Fist0
DSA Cprogramming~5 mins

Array Traversal Patterns in DSA C - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is array traversal?
Array traversal means visiting each element in an array one by one, usually from the first element to the last.
Click to reveal answer
beginner
How do you traverse an array forwards in C?
Use a for loop starting from index 0 up to the last index, accessing each element in order.
Click to reveal answer
beginner
What is reverse traversal of an array?
Reverse traversal means visiting array elements starting from the last element down to the first.
Click to reveal answer
intermediate
Why is it important to know array traversal patterns?
Knowing traversal patterns helps to solve problems like searching, sorting, and modifying arrays efficiently.
Click to reveal answer
beginner
Show the C code snippet to traverse an array forwards and print each element.
int arr[] = {1, 2, 3, 4}; int n = 4; for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } // Output: 1 2 3 4
Click to reveal answer
Which index does array traversal in C usually start from?
A-1
B0
C1
DDepends on array size
What is the last index of an array with size n?
An
Bn+1
Cn-1
D0
Which loop is commonly used for array traversal in C?
Afor loop
Bwhile loop
Cdo-while loop
Dswitch statement
What happens if you traverse an array beyond its last index?
AIt prints zeros
BIt loops back to start
CIt stops automatically
DProgram crashes or undefined behavior
How do you traverse an array in reverse order?
AStart from last index and decrement to 0
BStart from 0 and increment to last index
CUse a while loop only
DUse recursion only
Explain how to traverse an array forwards and backwards in C.
Think about how the loop index changes in each case.
You got /4 concepts.
    Why must you be careful not to access array elements outside their valid indices during traversal?
    Consider what happens if you read or write outside the array.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the following code snippet do?
      for (int i = 0; i < n; i++) { printf("%d ", arr[i]); }
      easy
      A. Prints only the last element of the array
      B. Prints all elements of the array from end to start
      C. Prints only the first element of the array
      D. Prints all elements of the array from start to end

      Solution

      1. Step 1: Understand the loop range

        The loop starts at 0 and runs while i is less than n, incrementing i by 1 each time.
      2. Step 2: Analyze the print statement inside the loop

        Each iteration prints the element at index i, so it prints elements from arr[0] to arr[n-1].
      3. Final Answer:

        Prints all elements of the array from start to end -> Option D
      4. Quick Check:

        Loop from 0 to n-1 prints all elements [OK]
      Hint: Loop from 0 to n-1 prints array forward [OK]
      Common Mistakes:
      • Confusing loop direction and thinking it prints backward
      • Assuming it prints only one element
      • Misreading the loop condition
      2. Which of the following is the correct syntax to traverse an array arr of size n backwards in C?
      easy
      A. for (int i = 0; i < n; i++) { printf("%d", arr[i]); }
      B. for (int i = n; i > 0; i++) { printf("%d", arr[i]); }
      C. for (int i = n-1; i >= 0; i--) { printf("%d", arr[i]); }
      D. for (int i = 1; i <= n; i++) { printf("%d", arr[i]); }

      Solution

      1. Step 1: Identify correct loop start and end for backward traversal

        Backward traversal starts from index n-1 down to 0.
      2. Step 2: Check loop syntax correctness

        for (int i = n-1; i >= 0; i--) { printf("%d", arr[i]); } uses i = n-1; i >= 0; i-- which correctly traverses backward.
      3. Final Answer:

        for (int i = n-1; i >= 0; i--) { printf("%d", arr[i]); } -> Option C
      4. Quick Check:

        Backward loop uses i = n-1 to 0 with decrement [OK]
      Hint: Backward loop starts at n-1 and decrements to 0 [OK]
      Common Mistakes:
      • Starting loop at n instead of n-1
      • Using i++ instead of i-- for backward traversal
      • Accessing arr[i] with out-of-range indices
      3. What is the output of the following code?
      int arr[] = {5, 10, 15, 20};
      int sum = 0;
      for (int i = 1; i < 4; i++) {
          sum += arr[i];
      }
      printf("%d", sum);
      medium
      A. 50
      B. 45
      C. 30
      D. Syntax Error

      Solution

      1. Step 1: Identify loop indices and elements summed

        The loop runs i from 1 to 3, summing arr[1], arr[2], arr[3] which are 10, 15, and 20.
      2. Step 2: Calculate sum of selected elements

        sum = 10 + 15 + 20 = 45
      3. Final Answer:

        45 -> Option B
      4. Quick Check:

        Sum of arr[1..3] = 45 [OK]
      Hint: Sum elements from index 1 to 3 inclusive [OK]
      Common Mistakes:
      • Starting sum from arr[0] mistakenly
      • Adding wrong indices or missing last element
      • Confusing loop range boundaries
      4. Find the error in the following code that attempts to print all elements of an array arr of size n:
      for (int i = 0; i <= n; i++) {
          printf("%d ", arr[i]);
      }
      medium
      A. Loop condition should be i < n, not i <= n
      B. Array indexing should start from 1, not 0
      C. printf statement syntax is incorrect
      D. No error, code is correct

      Solution

      1. Step 1: Analyze loop condition and array indexing

        Loop runs from i = 0 to i = n inclusive, accessing arr[n] which is out of bounds.
      2. Step 2: Correct loop condition to avoid out-of-bounds access

        Change condition to i < n so indices go from 0 to n-1, valid for array of size n.
      3. Final Answer:

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

        Array indices valid from 0 to n-1 [OK]
      Hint: Use i < n to avoid out-of-bounds errors [OK]
      Common Mistakes:
      • Using <= instead of < in loop condition
      • Starting index at 1 instead of 0
      • Ignoring array size limits
      5. Given an integer array arr of size n, which code snippet correctly prints every second element starting from the first element?
      hard
      A. for (int i = 0; i < n; i += 2) { printf("%d ", arr[i]); }
      B. for (int i = 1; i < n; i += 2) { printf("%d ", arr[i]); }
      C. for (int i = 0; i <= n; i += 2) { printf("%d ", arr[i]); }
      D. for (int i = n-1; i >= 0; i -= 2) { printf("%d ", arr[i]); }

      Solution

      1. Step 1: Understand requirement to print every second element starting at first

        Start at index 0 and increment index by 2 each time to skip every other element.
      2. Step 2: Check loop correctness and bounds

        for (int i = 0; i < n; i += 2) { printf("%d ", arr[i]); } uses i = 0; i < n; i += 2 which correctly prints arr[0], arr[2], arr[4], etc.
      3. Final Answer:

        for (int i = 0; i < n; i += 2) { printf("%d ", arr[i]); } -> Option A
      4. Quick Check:

        Increment by 2 starting at 0 prints every second element [OK]
      Hint: Increment index by 2 starting at 0 for every second element [OK]
      Common Mistakes:
      • Starting at index 1 instead of 0
      • Using <= n causing out-of-bounds
      • Looping backward when forward is needed
      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