From ab65a3915c063bfc31102512bb3c9a755bef7ed0 Mon Sep 17 00:00:00 2001 From: ayush246 <37112252+ayush246@users.noreply.github.com> Date: Sat, 19 Oct 2019 16:08:15 +0530 Subject: [PATCH] Double sort (Added with required updates) (#1399) * Added with required updates * Updated * required updates * Update double_sort.py * Update double_sort.py --- sorts/double_sort.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 sorts/double_sort.py diff --git a/sorts/double_sort.py b/sorts/double_sort.py new file mode 100644 index 000000000..011e17d8f --- /dev/null +++ b/sorts/double_sort.py @@ -0,0 +1,34 @@ +def double_sort(lst): + """this sorting algorithm sorts an array using the principle of bubble sort , + but does it both from left to right and right to left , + hence i decided to call it "double sort" + :param collection: mutable ordered sequence of elements + :return: the same collection in ascending order + Examples: + >>> double_sort([-1 ,-2 ,-3 ,-4 ,-5 ,-6 ,-7]) + [-7, -6, -5, -4, -3, -2, -1] + >>> double_sort([]) + [] + >>> double_sort([-1 ,-2 ,-3 ,-4 ,-5 ,-6]) + [-6, -5, -4, -3, -2, -1] + >>> double_sort([-3, 10, 16, -42, 29]) == sorted([-3, 10, 16, -42, 29]) + True + """ + no_of_elements=len(lst) + for i in range(0,int(((no_of_elements-1)/2)+1)): # we dont need to traverse to end of list as + for j in range(0,no_of_elements-1): + if (lst[j+1]