Advertisement
nikbel

perestanovka_leksikografich

Mar 18th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.68 KB | None | 0 0
  1. def NextPermutationAlgorithm(w):
  2.     l = len(w)
  3.     b = w
  4.     r = None
  5.  
  6.     i=l-1
  7.        
  8.     while (i>0):
  9.         if (b[i-1] > b[i]):
  10.             pv = i
  11.  
  12.             j = pv
  13.             while (j < l):
  14.                 if (b[j] <= b[pv] & b[i-1] < b[j]):
  15.                     pv = j
  16.                 j+=1
  17.             b[i-1], b[pv] = b[pv], b[i-1]
  18.  
  19.             j= l-1
  20.             while (i < j):
  21.                 b[i], b[j] = b[j], b[i]
  22.                 i, j = i+1, j-1
  23.             r = str(b)
  24.             break
  25.         i -= 1
  26.     return r
  27.  
  28. d = [4,3,2,1]
  29.  
  30.  
  31. print(d)
  32. while (1):
  33.     q = NextPermutationAlgorithm(d)
  34.     if q is None:
  35.         break
  36.     else:
  37.         print(q)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement