aboutsummaryrefslogtreecommitdiff
path: root/comparison/Python/qsort-260000.py
diff options
context:
space:
mode:
authorShinya Sato <shinnya.sato@gmail.com>2022-05-02 09:50:21 +0900
committerShinya Sato <shinnya.sato@gmail.com>2022-05-02 09:50:21 +0900
commitdf4949f8b08cbe3cfd99933d5bb14a373f47f2dd (patch)
treec516c3c45d79a4843114ddd44a83b9ca87250cb7 /comparison/Python/qsort-260000.py
parent7ea48cd96551247ecc763a5e42404ffa3464d0b0 (diff)
parent779860e35f5c67c7fd48ef876784f87afcfdb321 (diff)
downloadinpla-df4949f8b08cbe3cfd99933d5bb14a373f47f2dd.tar.gz
inpla-df4949f8b08cbe3cfd99933d5bb14a373f47f2dd.zip
Merge branch 'develop'
Diffstat (limited to 'comparison/Python/qsort-260000.py')
-rw-r--r--comparison/Python/qsort-260000.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/comparison/Python/qsort-260000.py b/comparison/Python/qsort-260000.py
new file mode 100644
index 0000000..fbca39d
--- /dev/null
+++ b/comparison/Python/qsort-260000.py
@@ -0,0 +1,43 @@
+# Quicksort
+import random
+
+# https://stackoverflow.com/questions/23767787/python-implementation-of-quicksort-fails-to-sort-the-entire-array
+def quickSort(arr):
+ less = []
+ pivotList = []
+ more = []
+ if len(arr) <= 1:
+ return arr
+ else:
+ pivot = arr[0]
+ for i in arr:
+ if i < pivot:
+ less.append(i)
+ elif i > pivot:
+ more.append(i)
+ else:
+ pivotList.append(i)
+
+ less = quickSort(less)
+ more = quickSort(more)
+ return less + pivotList + more
+
+
+def mkRandList ( n ):
+ a=[]
+ for i in range(1,n+1):
+ a.insert(0, random.randint(0,10000))
+ return a
+
+
+def validation(alist):
+ for i in range(len(alist)-1):
+ if (alist[i] > alist[i+1]):
+ return False
+
+ return True
+
+
+a = mkRandList(260000)
+b = quickSort(a)
+print(validation(b))