Программа Python для поворота элементов массива
После объявления массива элементы массива до определенного индекса поворачиваются так, что первые элементы до желаемого индекса помещаются в последний, следующий за последним элементом массива. Давайте обсудим это со сценарием ввода-вывода.
Сценарий ввода-вывода
Рассмотрим массив arr=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].
Можно четко сказать, что исходный массив состоит из 10 элементов и индекс последнего элемента равен 9.
Предположим, что массив вращается двумя элементами.
В этом случае первые два элемента размещаются после последнего элемента «10».
-
Сначала элемент «1» будет помещен после 10, а после размещения элемента «1» следующий элемент «2» будет помещен рядом с 1.
Итак, результирующий массив будет arr=[3, 4, 5, 6, 7, 8, 9, 10, 1, 2].
Пример
В этом примере мы собираемся обсудить процесс вращения определенных элементов (всех за раз) массива на определенное количество оборотов. Для создания программы необходимо выполнить следующие шаги:
Объявите функцию или метод, который занимается вращением элементов массива.
Внутри метода рассмотрим новый массив с именем переменной «temp», чтобы сохранить элементы массива после вращения.
С помощью переменной «i» и цикла переберите элементы (до индекса, который равен количеству вращений) массива и добавьте элементы один за другим в массив «temp».
Рассмотрим другой цикл, перебираем элементы из следующего индекса и сохраняем их соответствующим образом.
Теперь объедините массив «arr» с массивом «temp» и сохраните значение в массиве «arr».
(Обратите внимание, что параметры метода должны состоять из массива, максимального размера массива и количества вращений, которое требуется пользователю)
def rotate_elements(arr, max, no_of_elements):
temp = []
i = 0
while (i < no_of_elements):
temp.append(arr[i])
i += 1
i = 0
while (no_of_elements < max):
arr[i] = arr[no_of_elements]
i = i + 1
no_of_elements = no_of_elements + 1
arr[:] = arr[: i] + temp
return arr
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print("The array before rotation is: ", end =' ')
print(arr)
print("The array after rotation is: ", end=' ')
max_size = len(arr)
print(rotate_elements(arr, max_size, 2))
Выход
Вывод для вышеуказанной программы следующий:
The array before rotation is: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
The array after rotation is: [3, 4, 5, 6, 7, 8, 9, 10, 1, 2]
Пример
В этом примере мы собираемся обсудить процесс вращения определенных элементов (один за другим) массива на определенное количество оборотов. Шаги, которые необходимо выполнить для создания программы, следующие:
Объявите две функции. Первая функция будет использоваться для перебора всех элементов до достижения общего количества вращений и одновременно с этим вызывает второй метод, так что после итерации элемента ему будет разрешено немедленное вращение.
Во втором методе рассмотрим пустой массив с именем переменной «temp», чтобы сохранить элементы массива после вращения.
С помощью переменной «i» и цикла перебираем все элементы от индекса 0 до последнего индекса последнего элемента и поворачиваем элементы массива один за другим.
Выведите элементы, присутствующие в массиве «arr», после вращения.
(Обратите внимание, что параметры метода должны состоять из массива, максимального размера массива и количества вращений, которое требуется пользователю)
def rotate_elements(arr, no_of_elements, max):
for i in range(no_of_elements):
rotate_one_by_one(arr, max)
def rotate_one_by_one(arr, max):
temp = arr[0]
for i in range(max-1):
arr[i] = arr[i+1]
arr[max-1] = temp
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print("The array before rotation: ")
print(arr)
rotate_elements(arr, 2, 10)
print("The array after rotation: ")
print(arr)
Выход
Вывод для вышеуказанной программы следующий:
The array before rotation:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
The array after rotation:
[3, 4, 5, 6, 7, 8, 9, 10, 1, 2]
Заключение
Мы можем ясно видеть, что результаты обеих обсуждавшихся выше программ абсолютно равны. Единственная разница между программами — это процесс, выполняемый в теле программы, и используемые методы. В первой программе в рамках одного метода происходит полный поворот элементов с помощью внешнего массива. Во второй программе используются два разных метода для поворота элементов один за другим путем вызова метода. Таким образом элементы массивов можно вращать.