Delete an Element from the Beginning of an Array
Last Updated :
08 Nov, 2024
Improve
Given an array of integers, the task is to delete an element from the beginning of the array.
Examples:
Input: arr[] = [10, 20, 30, 40]
Output: [20, 30, 40]Input: arr[] = [20]
Output: []
[Approach 1] Using Built-In Methods
We will use library methods like erase() in C++, remove() in Java, del in Python, removeAt() in C# and shift() in JavaScript.
// C++ program to delete an element from the beginning
// of an array using built-in functions
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> arr = { 10, 20, 30, 40 };
cout << "Array before deletion\n";
for (int i = 0; i < arr.size(); i++)
cout << arr[i] << " ";
// Delete the first element using an iterator
// pointing to the beginning
arr.erase(arr.begin());
cout << "\nArray after deletion\n";
for (int i = 0; i < arr.size(); i++)
cout << arr[i] << " ";
return 0;
}
// Java program to delete an element from the beginning
// of an array using built-in functions
import java.util.*;
class GfG {
public static void main(String[] args) {
ArrayList<Integer> arr = new ArrayList<>
(Arrays.asList(10, 20, 30, 40));
System.out.println("Array before deletion");
for (int i = 0; i < arr.size(); i++)
System.out.print(arr.get(i) + " ");
// Remove the first element
arr.remove(0);
System.out.println("\nArray after deletion");
for (int i = 0; i < arr.size(); i++)
System.out.print(arr.get(i) + " ");
}
}
# Python program to delete an element from the
# beginning of a list using built-in functions
arr = [10, 20, 30, 40]
print("Array before deletion")
for i in range(len(arr)):
print(arr[i], end=" ")
# Remove the first element
del arr[0]
print("\nArray after deletion")
for i in range(len(arr)):
print(arr[i], end=" ")
// C# program to delete an element from the beginning
// of a list
using System;
using System.Collections.Generic;
class GfG {
static void Main() {
List<int> arr = new List<int> { 10, 20, 30, 40 };
Console.WriteLine("Array before deletion");
for (int i = 0; i < arr.Count; i++)
Console.Write(arr[i] + " ");
// Remove the first element using
// the built-in RemoveAt method
arr.RemoveAt(0);
Console.WriteLine("\nArray after deletion");
for (int i = 0; i < arr.Count; i++)
Console.Write(arr[i] + " ");
}
}
// JavaScript program to delete an element
// from the beginning of an array
let arr = [10, 20, 30, 40];
console.log("Array before deletion");
console.log(arr);
// Remove the first element
arr.shift();
console.log("Array after deletion");
console.log(arr);
Output
Array before deletion 10 20 30 40 Array after deletion 20 30 40
Time Complexity: O(n)
Auxiliary Space: O(1)
[Approach 2] Using Custom Methods
The idea is to start from the second element and shift all the elements one position to the left. After shifting all the elements, reduce the array size by 1 to remove the extra element at the end.
// C++ program to delete an element from the beginning
// of an array using custom method
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> arr = { 10, 20, 30, 40 };
int n = arr.size();
cout << "Array before deletion\n";
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
// Shift all the elements 1 position to the left
// starting from second element
for(int i = 1; i < n; i++)
arr[i - 1] = arr[i];
// Reduce the array size by 1
n--;
cout << "\nArray after deletion\n";
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
return 0;
}
// C program to delete an element from the beginning
// of an array using custom method
#include <stdio.h>
int main() {
int arr[] = { 10, 20, 30, 40 };
int n = sizeof(arr) / sizeof(arr[0]);
printf("Array before deletion\n");
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
// Shift all the elements 1 position to the left
// starting from second element
for (int i = 1; i < n; i++) {
arr[i - 1] = arr[i];
}
// Reduce the array size by 1
n--;
printf("\nArray after deletion\n");
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}
// Java program to delete an element from the beginning
// of an array using custom method
import java.util.Arrays;
class GfG {
public static void main(String[] args) {
int[] arr = { 10, 20, 30, 40 };
int n = arr.length;
System.out.println("Array before deletion");
for (int i = 0; i < n; i++)
System.out.print(arr[i] + " ");
// Shift all the elements 1 position to the left
// starting from second element
for(int i = 1; i < n; i++)
arr[i - 1] = arr[i];
// Reduce the array size by 1
n--;
System.out.println("\nArray after deletion");
for (int i = 0; i < n; i++)
System.out.print(arr[i] + " ");
}
}
# Python program to delete an element from the beginning
# of an array using custom method
if __name__ == "__main__":
arr = [10, 20, 30, 40]
n = len(arr)
print("Array before deletion")
for i in range(n):
print(arr[i], end=" ")
# Shift all the elements 1 position to the left
# starting from second element
for i in range(1, n):
arr[i - 1] = arr[i]
# Reduce the array size by 1
n -= 1
print("\nArray after deletion")
for i in range(n):
print(arr[i], end=" ")
// C# program to delete an element from the beginning
// of an array using custom method
using System;
class GfG {
static void Main() {
int[] arr = { 10, 20, 30, 40 };
int n = arr.Length;
Console.WriteLine("Array before deletion");
for (int i = 0; i < n; i++)
Console.Write(arr[i] + " ");
// Shift all the elements 1 position to the left
// starting from second element
for (int i = 1; i < n; i++)
arr[i - 1] = arr[i];
// Reduce the array size by 1
n--;
Console.WriteLine("\nArray after deletion");
for (int i = 0; i < n; i++)
Console.Write(arr[i] + " ");
}
}
// JavaScript program to delete an element from the
// beginning of an array using custom method
let arr = [ 10, 20, 30, 40 ];
let n = arr.length;
console.log("Array before deletion");
for(let i = 0; i < n; i++)
console.log(arr[i]);
// Shift all the elements 1 position to the left
// starting from second element
for (let i = 1; i < n; i++) {
arr[i - 1] = arr[i];
}
// Reduce the array size by 1
n--;
console.log("Array after deletion");
for(let i = 0; i < n; i++)
console.log(arr[i]);
Output
Array before deletion 10 20 30 40 Array after deletion 20 30 40
Time Complexity: O(n)
Auxiliary Space: O(1)