Print Alternate Elements of an Array
Problem Statement
Given an array of elements, the task is to print alternate elements of the array, starting from the first element (index 0).
Alternate elements mean:
- Print elements at even indices: 0, 2, 4, 6, …
- Skip elements at odd indices
Why This Problem Is Important
This problem helps build a strong foundation in:
- Array indexing
- Understanding index vs value
- Loop increments
- Pattern-based traversal
It is commonly used in:
- Sampling data
- Optimized traversal
- Splitting data into groups
- Interview warm-up problems
Input and Output Format
Input
Array: [10, 20, 30, 40, 50, 60]
Output
Alternate Elements: 10 30 50
Key Concept
- Arrays are 0-indexed
- Alternate elements starting from the first element correspond to even indices
- Increment loop counter by 2 instead of 1
Step-by-Step Algorithm
- Start loop from index 0
- Increment index by 2 in each iteration
- Print the element at the current index
- Stop when index reaches array length
Pseudocode
for i from 0 to n-1 step 2:
print arr[i]
Dry Run Example
Array: [10, 20, 30, 40, 50]
i = 0 → print 10
i = 2 → print 30
i = 4 → print 50
Time and Space Complexity
| Metric | Value |
|---|---|
| Time Complexity | O(n) |
| Space Complexity | O(1) |

Language-wise Implementation
C Implementation
#include
int main() {
int arr[] = {10, 20, 30, 40, 50, 60};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Alternate Elements: ");
for(int i = 0; i < n; i += 2) {
printf("%d ", arr[i]);
}
return 0;
}
Output
Alternate Elements: 10 30 50
C++ Implementation
#include
using namespace std;
int main() {
int arr[] = {10, 20, 30, 40, 50, 60};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Alternate Elements: ";
for(int i = 0; i < n; i += 2) {
cout << arr[i] << " ";
}
return 0;
}
Output
Alternate Elements: 10 30 50
Java Implementation
public class Main {
public static void main(String[] args) {
int[] arr = {10, 20, 30, 40, 50, 60};
System.out.print("Alternate Elements: ");
for(int i = 0; i < arr.length; i += 2) {
System.out.print(arr[i] + " ");
}
}
}
Output
Alternate Elements: 10 30 50
Python Implementation
arr = [10, 20, 30, 40, 50, 60]
print("Alternate Elements:", end=" ")
for i in range(0, len(arr), 2):
print(arr[i], end=" ")
Output
Alternate Elements: 10 30 50
C# Implementation
using System;
class Program {
static void Main() {
int[] arr = {10, 20, 30, 40, 50, 60};
Console.Write("Alternate Elements: ");
for(int i = 0; i < arr.Length; i += 2) {
Console.Write(arr[i] + " ");
}
}
}
Output
Alternate Elements: 10 30 50
JavaScript Implementation
let arr = [10, 20, 30, 40, 50, 60];
let result = "";
for (let i = 0; i < arr.length; i += 2) {
result += arr[i] + " ";
}
console.log("Alternate Elements:", result.trim());
Output
Alternate Elements: 10 30 50
Common Variations
- Print alternate elements starting from index 1
- Print elements at odd indices
- Store alternate elements in a new array
- Print alternate elements in reverse order
Common Mistakes
- Confusing alternate elements with odd values
- Using i++ instead of i += 2
- Starting from index 1 unintentionally
- Forgetting arrays are zero-indexed
Summary
Printing alternate elements of an array is a simple yet powerful exercise to understand index-based traversal. By incrementing the loop counter by two, we efficiently skip elements without extra conditions or memory usage. This problem reinforces the concept of zero-based indexing and helps build confidence in writing optimized loops. It also prepares the groundwork for pattern-based array problems, selective traversal, and window-based techniques used in advanced algorithms.
