เขียนโปรแกรม C เพื่อหมุนอาร์เรย์ไปทางซ้ายโดยตำแหน่ง n วิธีหมุนซ้ายหมุนอาร์เรย์ n ครั้งในการเขียนโปรแกรม C ตรรกะการหมุนอาร์เรย์ไปทางซ้ายโดยตำแหน่ง n ในโปรแกรม C
Input: arr[]=1 2 3 4 5 6 7 8 9 10 N=3 Output: 4 5 6 7 8 9 10 1 2 3
คำอธิบาย
-
อ่านองค์ประกอบในอาร์เรย์ว่า arr.
-
อ่านจำนวนครั้งที่หมุนในตัวแปรบางตัวพูดว่า N.
-
ซ้าย หมุนอาร์เรย์ที่กำหนดโดย 1 สำหรับ N ครั้ง ในการหมุนซ้ายจริง ๆ จะเป็นการย้ายองค์ประกอบอาร์เรย์ไปยังตำแหน่งซ้ายหนึ่งตำแหน่งและคัดลอกองค์ประกอบแรกไปยังตำแหน่งสุดท้าย
ตัวอย่าง
#include <iostream> using namespace std; int main() { int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int i, N, len, j; N=3; len=10; int temp=0; for (i = 0; i < N; i++) { int x = arr[0]; for (j = 0; j < len; j++) { temp=arr[j]; arr[j] = arr[j + 1]; arr[j+1]=temp; } arr[len - 1] = x; } for (i = 0; i < len; i++) { cout<< arr[i]<<"\t"; } }