Phương pháp 1. Mã trong Python#Write a program for array rotation in Python # Python3 program to rotate an array by def leftRotate(arr, d, n): for i in range(d): leftRotatebyOne(arr, n) # Function to left Rotate arr[] of size n by 1*/ def leftRotatebyOne(arr, n): temp = arr[0] for i in range(n-1): arr[i] = arr[i + 1] arr[n-1] = temp # utility function to print an array */ def printArray(arr, size): for i in range(size): print ("% d"% arr[i], end =" ") # Driver program to test above functions */ arr = [10, 20, 30, 40, 50, 60, 70] leftRotate(arr, 2, 7) printArray(arr, 7) Bài viết này sẽ giải thích cách dịch chuyển hoặc xoay một mảng theo hướng trái hoặc phải trong Python. Xoay một mảng có nghĩa là chúng ta di chuyển hoặc dịch chuyển từng giá trị của mảng về phía bên trái hoặc bên phải của Show
Chúng ta có thể dịch chuyển hoặc xoay một mảng trong Python bằng các phương thức khác nhau được giải thích bên dưới Dịch chuyển mảng trong Python bằng Mô-đun collectionsChúng ta có thể sử dụng phương thức 1 n vị trí, trong đó dấu của n cho biết nên xoay đối tượng lớp 1 theo hướng trái hay phảiNếu giá trị của
đầu ra
Dịch chuyển mảng trong Python bằng phương pháp [5, 6, 1, 2, 3, 4] [2, 3, 4, 5, 6, 1] 8Phương thức 9 lấy đầu vào là giá trị 0 và xoay nó đến vị trí bằng với giá trị của giá trị 1. Nếu 0 là một mảng hai chiều, chúng ta sẽ cần chỉ định trục nào chúng ta cần áp dụng phép xoay; Cũng giống như phương thức 4, phương thức 8 cũng xoay mảng từ phải sang trái nếu giá trị dương và từ phải sang trái nếu giá trị âm. Đoạn mã ví dụ dưới đây trình bày cách sử dụng tính năng cắt mảng để xoay hoặc dịch chuyển một mảng trong Python Trong chương trình này, chúng ta cần xoay các phần tử của một mảng về bên trái theo số lần đã chỉ định. Trong phép quay trái, mỗi phần tử của mảng sẽ dịch chuyển sang trái một vị trí và phần tử đầu tiên của mảng sẽ được thêm vào cuối danh sách. Quá trình này sẽ được thực hiện trong một số lần xác định Xét mảng trên, nếu n bằng 1 thì tất cả các phần tử của mảng sẽ dịch chuyển sang trái một vị trí sao cho phần tử thứ 2 của mảng sẽ chiếm vị trí thứ nhất, phần tử thứ 3 sẽ dịch chuyển sang vị trí thứ 2, v.v. Phần tử đầu tiên của mảng sẽ được thêm vào phần tử cuối cùng của mảng Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách xoay mảng bằng chương trình Python. Chúng ta sẽ viết một hàm để xoay (arry[], E, K) sẽ được sử dụng để xoay arry[] có kích thước K = 8 bởi E = 4 phần tử Ta sẽ được mảng sau khi xoay mảng 4 phần tử Các phương pháp xoay mảngTrong phần này, chúng ta sẽ thảo luận về các phương pháp khác nhau mà người dùng có thể sử dụng để xoay mảng theo yêu cầu của họ Phương pháp 1. Bằng cách sử dụng mảng tạm thờiTrong phương pháp này, chúng tôi sẽ sử dụng cách tiếp cận sau Bước 1. Chúng tôi sẽ lưu trữ các phần tử "E" trong một mảng tạm thời Nhiệt độ[] = [1, 3, 5, 7] Bước 2. chúng tôi sẽ thay đổi phần còn lại của mảng [] arry[] = [9, 11, 13, 15] Bước 3. Chúng tôi sẽ lưu trữ các phần tử "E" arry[] = [9, 11, 13, 15, 1, 3, 5, 7] Thí dụ đầu ra Array after Rotation by 4 elements is: [9, 11, 13, 15, 1, 3, 5, 7] Trong phương pháp trên Phương pháp 2. Bằng cách xoay từng yếu tố mộtTrong phương pháp này, chúng tôi sẽ sử dụng cách tiếp cận sau rotate_array1(arry[], E, K)
Chúng ta phải lưu trữ mảng[0] để xoay từng phần tử trong một biến tạm thời, "temp _1". Sau đó, chúng ta sẽ thêm arry[1] thành arry[0], arry[2] thành arry[1], v.v. Cuối cùng, chúng ta sẽ có temp_1 trên arry[n-1] Thí dụ đầu ra The array after rotation: 1 3 5 7 9 11 13 15 Trong phương pháp trên Phương pháp 3. Bằng cách sử dụng thuật toán tung hứngTrong phương pháp này, chúng ta sẽ chia mảng thành các tập hợp khác nhau thay vì di chuyển từng phần tử một Khi số tập hợp bằng ước chung lớn nhất của "K" và "E", đoạn mã sẽ sắp xếp các phần tử thành các tập hợp Nếu ước chung lớn nhất bằng 1 thì các phần tử chỉ chuyển vào một tập hợp. Ở đây, chúng ta sẽ bắt đầu với temp_1 = arry[0], và nó sẽ tiếp tục di chuyển arry[J + E] đến arry[J], và cuối cùng, nó sẽ lưu temp_1 vào đúng vị trí Hãy xem một ví dụ trong đó, K = 16 và E = 4. Ước chung lớn nhất (G_C_D) = 4 Các bước -
Sau khi hoàn thành bộ này, arry[] sẽ bằng [15, 12, 13, 14, 19, 16, 17, 18, 23, 20, 21, 22, 11, 23, 24, 25, 26]
Thí dụ đầu ra The array after rotation: [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 11, 12, 13, 14] Trong phương pháp trên Phương pháp 4. Bằng cách sử dụng Cắt lát danh sáchTrong phương pháp này, chúng tôi sẽ sử dụng danh sách cắt để xoay các phần tử của một mảng Thí dụ đầu ra The List is: [11, 12, 13, 14, 15, 16, 17, 18] The rotated list is: [15, 16, 17, 18, 11, 12, 13, 14] Nếu chúng ta muốn xoay mảng nhiều hơn chiều dài của nó, chúng ta có thể sử dụng phương thức mod Giả sử mảng mà chúng ta muốn xoay theo "E" có kích thước "K" và "E" lớn hơn "K". Trong trường hợp này, chúng ta phải tính toán (E%K) và sau đó chúng ta có thể xoay theo đầu ra sau khi tính toán mod Phần kết luậnTrong bài viết này, chúng ta đã thảo luận về cách sử dụng các phương thức khác nhau để xoay mảng đã cho bằng cách sử dụng Python |