-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathQuick_sort.py
47 lines (39 loc) · 1023 Bytes
/
Quick_sort.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import random
import os
def quickSort(pinakas):
less = []
equal = []
greater = []
if len(pinakas) > 1:
pivot = pinakas[0]
for x in pinakas:
if x < pivot:
less.append(x)
elif x == pivot:
equal.append(x)
else:
greater.append(x)
return quickSort(less) + equal + quickSort(greater)
return pinakas
def printArray(pinakas):
print("[", end='')
for i in range(len(pinakas) - 1):
print("%3d"%pinakas[i], end=",")
print("%3d]"%pinakas[len(pinakas)-1])
def init_array(n):
pinakas = []
for i in range(n):
pinakas.append(random.randint(0, 100))
return pinakas
def main():
SIZE = 7
pinakas = []
pinakas = init_array(SIZE)
print("Arxikos pinakas", end=": ")
printArray(pinakas)
pinakas = quickSort(pinakas)
space = ' '
print("O neos pinakas." + (2 * space), end = '')
printArray(pinakas)
if __name__ == "__main__":
main()