ที่นี่เราใช้อาร์เรย์อินพุตของผู้ใช้หนึ่งรายและขนาดของกลุ่ม และเราสร้างอาร์เรย์ย่อยตามขนาดของกลุ่มและเราก็แค่ย้อนกลับ หากขนาดของกลุ่ม (p) ไม่ได้มีหลายขนาดของอาร์เรย์ (n) กลุ่มสุดท้ายจะเหลือน้อยกว่า k องค์ประกอบและย้อนกลับองค์ประกอบที่เหลือทั้งหมด หาก p=1 อาร์เรย์จะไม่เปลี่ยนแปลง หาก p> =1 เราจะย้อนกลับองค์ประกอบทั้งหมดในอาร์เรย์
อัลกอริทึม
Revarray(A,n,p) /* A is an integer Array, n is the size of an array and every sub-array of size p starting from the beginning of the array and reverse it.*/ Step 1: i is the loop control variable which is initialized by 0. Step 2: using while loop check i is less than n or not. If true Step 2.1: L=i /* Left sub array Step 2.2: R=min (i+p-1, n-1) /*Right sub array Step 2.3: Using while loop check L is than R or not. If yes Step 2.3.1: swap left sub array A (L) and Right Sub Array A(R). Step 2.3.2: L is incremented by 1. Step 2.3.3: R is stepping backward one step at a time. Step 2.4: End While Step 2.5: i=i+p Step 3: End While Step 4: Stop
โค้ดตัวอย่าง
#reverse of an array in groups of given size def arrayreverse(A, n, p): i = 0 while(i<n): L = i R = min(i + p - 1, n - 1) while (L < R): A[L], A[R] = A[R], A[L] L+= 1; R-+1 i+= p # Driver code #Insert data in an array A=list() n=int(input("Enter the size of the array ::")) print("Enter the number ::") for i in range(int(n)): k=int(input("")) A.append(int(k)) p=int(input("Enter the size of the group ::")) arrayreverse(A, n, p) for i in range(0, n): print(A[i], end =" ")
ผลลัพธ์
Enter the size of the array ::6 Enter the number :: 11 22 33 44 55 66 Enter the size of the group ::2 22 11 44 33 66 55