C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Q. Program to left rotate the elements of an array.
ExplanationIn this program, we need to rotate the elements of an array towards the left by the specified number of times. In the left rotation, each element of the array will be shifted to its left by one position and the first element of the array will be added to end of the list. This process will be followed for a specified number of times.
Consider above array, if n is 1 then, all elements of the array will be moved to its left by one position such that second element of the array will take the first position, the third element will be moved to the second position and so on. The first element of the array will be added to the last of the array. Algorithm
SolutionPython
#Initialize array
arr = [1, 2, 3, 4, 5];
#n determine the number of times an array should be rotated
n = 3;
#Displays original array
print("Original array: ");
for i in range(0, len(arr)):
print(arr[i]),
#Rotate the given array by n times toward left
for i in range(0, n):
#Stores the first element of the array
first = arr[0];
for j in range(0, len(arr)-1):
#Shift element of array by one
arr[j] = arr[j+1];
#First element of array will be added to the end
arr[len(arr)-1] = first;
print();
#Displays resulting array after rotation
print("Array after left rotation: ");
for i in range(0, len(arr)):
print(arr[i]),
Output: Original array: 1 2 3 4 5 Array after left rotation: 4 5 1 2 3 C
#include <stdio.h>
int main()
{
//Initialize array
int arr[] = {1, 2, 3, 4, 5};
//Calculate length of array arr
int length = sizeof(arr)/sizeof(arr[0]);
//n determine the number of times an array should be rotated
int n = 3;
//Displays original array
printf("Original array: \n");
for (int i = 0; i < length; i++) {
printf("%d ", arr[i]);
}
//Rotate the given array by n times toward left
for(int i = 0; i < n; i++){
int j, first;
//Stores the first element of the array
first = arr[0];
for(j = 0; j < length-1; j++){
//Shift element of array by one
arr[j] = arr[j+1];
}
//First element of array will be added to the end
arr[j] = first;
}
printf("\n");
//Displays resulting array after rotation
printf("Array after left rotation: \n");
for(int i = 0; i < length; i++){
printf("%d ", arr[i]);
}
return 0;
}
Output: Original array: 1 2 3 4 5 Array after left rotation: 4 5 1 2 3 JAVA
class RotateLeft {
public static void main(String[] args) {
//Initialize array
int [] arr = new int [] {1, 2, 3, 4, 5};
//n determine the number of times an array should be rotated
int n = 3;
//Displays original array
System.out.println("Original array: ");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
//Rotate the given array by n times toward left
for(int i = 0; i < n; i++){
int j, first;
//Stores the first element of the array
first = arr[0];
for(j = 0; j < arr.length-1; j++){
//Shift element of array by one
arr[j] = arr[j+1];
}
//First element of array will be added to the end
arr[j] = first;
}
System.out.println();
//Displays resulting array after rotation
System.out.println("Array after left rotation: ");
for(int i = 0; i< arr.length; i++){
System.out.print(arr[i] + " ");
}
}
}
Output: Original array: 1 2 3 4 5 Array after left rotation: 4 5 1 2 3 C#
using System;
public class RotateLeft
{
public static void Main()
{
//Initialize array
int [] arr = new int [] {1, 2, 3, 4, 5};
//n determine the number of times an array should be rotated
int n = 3;
//Displays original array
Console.WriteLine("Original array: ");
for (int i = 0; i < arr.Length; i++) {
Console.Write(arr[i] + " ");
}
//Rotate the given array by n times toward left
for(int i = 0; i < n; i++){
int j, first;
//Stores the first element of the array
first = arr[0];
for(j = 0; j < arr.Length-1; j++){
//Shift element of array by one
arr[j] = arr[j+1];
}
//First element of array will be added to the end
arr[j] = first;
}
Console.WriteLine();
//Displays resulting array after rotation
Console.WriteLine("Array after left rotation: ");
for(int i = 0; i< arr.Length; i++){
Console.Write(arr[i] + " ");
}
}
}
Output: Original array: 1 2 3 4 5 Array after left rotation: 4 5 1 2 3 PHP
<!DOCTYPE html>
<html>
<body>
<?php
//Initialize array
$arr = array(1, 2, 3, 4, 5);
//n determine the number of times an array should be rotated
$n = 3;
//Displays original array
print("Original array: <br>");
for ($i = 0; $i < count($arr); $i++) {
print($arr[$i] . " ");
}
//Rotate the given array by n times toward left
for ($i = 0; $i < $n; $i++){
//Stores the first element of the array
$first = $arr[0];
for($j = 0; $j < count($arr)-1; $j++){
//Shift element of array by one
$arr[$j] = $arr[$j+1];
}
//First element of array will be added to the end
$arr[$j] = $first;
}
print("<br>");
//Displays resulting array after rotation
print("Array after left rotation: <br>");
for ($i = 0; $i < count($arr); $i++) {
print($arr[$i] . " ");
}
?>
</body>
</html>
Output: Original array: 1 2 3 4 5 Array after left rotation: 4 5 1 2 3
Next Topic#
|