यहां हम एक उपयोगकर्ता इनपुट सरणी और समूह के आकार का उपयोग करते हैं। और हम समूह के आकार पर उप सरणी बनाते हैं और हम इसे उलट देते हैं। यदि समूहों का आकार (पी) सरणी (एन) के आकार का गुणक नहीं है, तो अंतिम समूह 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