aboutsummaryrefslogtreecommitdiff
path: root/comparison/Python/qsort-260000.py
diff options
context:
space:
mode:
authorShinya Sato <shinnya.sato@gmail.com>2022-05-02 09:49:01 +0900
committerShinya Sato <shinnya.sato@gmail.com>2022-05-02 09:49:01 +0900
commit8c7809d024e85d0a8acfb794a4db41b0e4bc13e6 (patch)
tree25ac81bad7be415d7cf75457275f7161d79f9f10 /comparison/Python/qsort-260000.py
parent429543c748aaf81b2a4207318eb5a05259469b21 (diff)
downloadinpla-8c7809d024e85d0a8acfb794a4db41b0e4bc13e6.tar.gz
inpla-8c7809d024e85d0a8acfb794a4db41b0e4bc13e6.zip
v0.8.2-1
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))