Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- def GetV(A, Index):
- return A[Index-1]
- def SetV(A, Index, V):
- A[Index-1] = V
- def SwapV(A, Index1, Index2):
- A[Index1 - 1], A[Index2 - 1] = A[Index2 - 1], A[Index1 - 1]
- def ProcessElement(A, Index):
- if GetV(A, Index) != Index:
- i = Index
- ni = GetV(A, i)
- while True:
- if GetV(A, ni) == ni:
- print("{} have some duplicates".format(ni))
- return 1
- else:
- SwapV(A, i, ni)
- i = Index
- ni = GetV(A, i)
- if GetV(A, Index) == Index:
- break
- return 0
- N = 10 #
- MaxRC = 4 # Maximum repeat count
- gA = [i+1 for i in range(N)]
- rN = random.randint(1, N)
- gA.append(rN)
- rNC = random.randint(0, MaxRC-1)
- for i in range(rNC):
- gA[random.randrange(len(gA))] = rN
- random.shuffle(gA)
- print("Array size:", N, "Array", gA)
- for i in range(1, len(gA)+1):
- if ProcessElement(gA, i) == 1:
- break
Advertisement
Add Comment
Please, Sign In to add comment