rendezesek.py
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