13)Python program to right rotate the elements of an array
In this program, we need to rotate the elements of array towards its right by the specified number of times. An array is said to be right rotated if all elements of the array are moved to its right by one position. One approach is to loop through the array by shifting each element of the array to its next position. The last element of the array will become the first element of the rotated array.
Consider above array, if n is 1 then, all elements of the array will be moved to its right by one position that is the first element of the array will take the second position, the second element will be moved to the third position and so on. The last element of the array will become the first element of the array.
ALGORITHM:
-
STEP 1: Declare and initialize an array.
-
STEP 2: Variable n will denote the number of times an array should be rotated toward its right.
-
STEP 3: The array can be right rotated by shifting its elements to a position next to them which can be accomplished by looping through the array in reverse order (loop will start from the length of the array -1 to 0) and perform the operation arr[j] = arr[j-1].
-
STEP 4: The last element of the array will become the first element of the rotated array.
#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 right
for i in range(0, n):
#Stores the last element of array
last = arr[len(arr)-1];
for j in range(len(arr)-1, -1, -1):
#Shift element of array by one
arr[j] = arr[j-1];
#Last element of the array will be added to the start of the array.
arr[0] = last;
print();
#Displays resulting array after rotation
print("Array after right rotation: ");
for i in range(0, len(arr)):
print(arr[i]),
14)Python program to sort the elements of an array in ascending order
In this program, we need to sort the given array in ascending order such that elements will be arranged from smallest to largest. This can be achieved through two loops. The outer loop will select an element, and inner loop allows us to compare selected element with rest of the elements.
Elements will be sort in such a way that smallest element will appear on extreme left which in this case is 1. The largest element will appear on extreme right which in this case is 8.
ALGORITHM:
-
STEP 1: Declare and initialize an array.
-
STEP 2: Loop through the array and select an element.
-
STEP 3: The inner loop will be used to compare the selected element from the outer loop with the rest of the elements of the array.
-
STEP 4: If any element is less than the selected element then swap the values.
-
STEP 5: Continue this process till entire array is sorted in ascending order.
#Initialize array
arr = [5, 2, 8, 7, 1];
temp = 0;
#Displaying elements of original array
print("Elements of original array: ");
for i in range(0, len(arr)):
print(arr[i], end=" ");
#Sort the array in ascending order
for i in range(0, len(arr)):
for j in range(i+1, len(arr)):
if(arr[i] > arr[j]):
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
print();
#Displaying elements of the array after sorting
print("Elements of array sorted in ascending order: ");
for i in range(0, len(arr)):
print(arr[i], end=" ");