Pouknouki

Listes

Dec 3rd, 2015
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.44 KB | None | 0 0
  1. import random as rand
  2.  
  3. def liste(n, p):
  4.     returned = []
  5.     for i in range(0, n):
  6.         returned.append(rand.randint(1, p))
  7.     return returned
  8.    
  9. def insertion(listeATrier):
  10.     print(listeATrier)
  11.     for i in range(0, len(listeATrier)):
  12.         for j in range(0, len(listeATrier)):
  13.             if listeATrier[i] < listeATrier[j]:
  14.                 listeATrier.insert(j, listeATrier[i])
  15.                 listeATrier.pop(i+1)
  16.                 break
  17.     return listeATrier
  18.    
  19. def selection(listeATrier):
  20.     for i in range(0, len(listeATrier)):
  21.         minimum = listeATrier[i]
  22.         indiceMinimum = -1
  23.         for j in range(i, len(listeATrier)):
  24.             if listeATrier[j] < minimum:
  25.                 minimum = listeATrier[j]
  26.                 indiceMinimum = j
  27.         listeATrier[i], listeATrier[indiceMinimum] = minimum, listeATrier[i]
  28.     return listeATrier
  29.    
  30. def bulle(listeATrier):
  31.     echange = True
  32.     while echange == True:
  33.         echange = False
  34.         for i in range(0, len(listeATrier)):
  35.             if i < len(listeATrier) - 1 and listeATrier[i + 1] < listeATrier[i]:
  36.                 echange = True
  37.                 listeATrier[i + 1], listeATrier[i] = listeATrier[i], listeATrier[i + 1]
  38.                
  39.     return listeATrier
  40.    
  41. def tri_rec(l, p, d):
  42.     print(l)
  43.     if (len(l) == 1):
  44.         return l
  45.     elif (len(l) == 0):
  46.         print("merde")
  47.     else:
  48.         part = partition(l, p)
  49.         print("part : " + str(part))
  50.         print("test : " + (tri_rec(part[0], 0, 0).append(part[2])))
  51.         return (tri_rec(part[0], 0, 0).append(part[2])).extend(tri_rec(part[1], 0, 0))
  52.        
  53.    
  54. def partition(l, p):
  55.     inf = []
  56.     sup = []
  57.     pivot = l[p]
  58.     for i in range(0, len(l)):
  59.         val = l[i]
  60.         if i == p:
  61.             continue
  62.         if val < pivot:
  63.             inf.append(val)
  64.         else:
  65.             sup.append(val)
  66.             print(sup)
  67.            
  68.     return [inf, sup, l[p]]
  69.  
  70. # print(partition(liste(5, 15), 0))
  71.  
  72. def fusion(l1, l2):
  73.     triee = []
  74.     print(l1)
  75.     for i in range(0, len(l1)):
  76.         for j in range(0, len(l2)):
  77.             if (l1[i] < l2[j]):
  78.                 triee.append(l1[i])
  79.                 break
  80.             else:
  81.                 triee.append(l2[j])
  82.                 l2.pop(j)
  83.                 break
  84.                
  85.     return triee
  86.    
  87. l1 = liste(5, 15)
  88. l1.sort()
  89. l2 = liste(5, 15)
  90. l2.sort()
  91.    
  92. print(fusion(l1, l2))
Advertisement
Add Comment
Please, Sign In to add comment