1 # random - véletlenszámokhoz, time - rendszeridőhöz kell 2 import random, time 3 4 N=25000 # N db véletlenszám 5 Tomb=[] # Ebben a quicksort dolgozik 6 Tomb2=[] # Ebben a Python 7 Tomb3=[] # Ebben a Minimumkiválasztásos 8 9 print(N,' db, 1 – ',N + 1,'közötti véletlen egész szám rendezése') 10 11 def QuickSort(E, V): 12 I = E 13 J = V 14 X = Tomb[(E + V) // 2] 15 while True: 16 while X > Tomb[I]: 17 I += 1 18 while Tomb[J] > X: 19 J -= 1 20 if I <= J: 21 Tomb[I], Tomb[J] = Tomb[J], Tomb[I] 22 I += 1 23 J -= 1 24 if I > J: 25 break 26 if E < J: 27 QuickSort(E, J) 28 if I < V: 29 QuickSort(I, V) 30 31 def minimumos(V): 32 for i in range(V - 1): 33 minimum = i 34 for j in range(i + 1, V): 35 if Tomb3[minimum] > Tomb3[j]: 36 minimum = j 37 Tomb3[minimum], Tomb3[i] = Tomb3[i], Tomb3[minimum] 38 39 print('Adatgenerálás...', end='') 40 41 fv = open('rendezetlen.txt', 'w') 42 fv2 = open('rendezetlen_python.txt', 'w') 43 fv3 = open('rendezetlen_minimum.txt', 'w') 44 45 for x in range(N): 46 szam = random.randint(1, N + 1) 47 fv.write(str(szam) + '\n') 48 fv2.write(str(szam) + '\n') 49 fv3.write(str(szam) + '\n') 50 Tomb.append(szam) 51 Tomb2.append(szam) 52 Tomb3.append(szam) 53 54 fv.close() 55 fv2.close() 56 fv3.close() 57 58 print('vége') 59 60 localtime = time.asctime(time.localtime(time.time())) 61 ido = localtime.strip().split() 62 print('QuickSort start: ', ido[3]) 63 64 QuickSort(0, N - 1) 65 66 localtime = time.asctime(time.localtime(time.time())) 67 ido = localtime.strip().split() 68 print('QuickSort stop: ', ido[3]) 69 70 fv = open('rendezett.txt', 'w') 71 72 for x in range(N): 73 fv.write(str(Tomb[x]) + '\n') 74 75 fv.close() 76 77 localtime = time.asctime(time.localtime(time.time())) 78 ido = localtime.strip().split() 79 80 print('PythonSort start: ', ido[3]) 81 82 Tomb2 = sorted(Tomb2) 83 84 localtime = time.asctime(time.localtime(time.time())) 85 ido = localtime.strip().split() 86 print('PythonSort stop: ', ido[3]) 87 88 fv = open('rendezett_python.txt', 'w') 89 for x in range(N): 90 fv.write(str(Tomb2[x]) + '\n') 91 fv.close() 92 93 localtime = time.asctime(time.localtime(time.time())) 94 ido = localtime.strip().split() 95 print('MinimumSort start: ', ido[3]) 96 97 minimumos(N) 98 99 localtime = time.asctime(time.localtime(time.time())) 100 ido = localtime.strip().split() 101 print('MinimumSort stop: ', ido[3]) 102 103 fv = open('rendezett_minimum.txt', 'w') 104 for x in range(N): 105 fv.write(str(Tomb3[x]) + '\n') 106 fv.close() 107