Advertisement
Programmin-in-Python

Bubble and Merge Sorting Algorithms

Dec 21st, 2020
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.48 KB | None | 0 0
  1. #BUBBLE SORT
  2.  
  3. def bubblesort(arr , reverse = False) :
  4.     ''' This function returns the list after sorting using
  5.    'Bubble Sort' Algorithm'''
  6.     length = len(arr)
  7.     if reverse == False :
  8.         for i in range(length) :
  9.             for j in range(length - i - 1) :
  10.                 if arr[j] > arr[j+1] :
  11.                     arr[j] , arr[j+1] = arr[j+1] , arr[j]
  12.     else :
  13.         for i in range(length) :
  14.             for j in range(length - i - 1) :
  15.                 if arr[j] < arr[j + 1] :
  16.                     arr[j] , arr[j+1] = arr[j+1] , arr[j]
  17.     return arr
  18.  
  19. #MERGE SORT
  20.  
  21. def mergesort(arr) :
  22.     '''This function sorts an array using
  23.    'Merge Sort' Algorithm'''
  24.     if len(arr) > 1 :
  25.         mid = len(arr) // 2
  26.         lefthalf = arr[: mid]
  27.         righthalf = arr[mid :]
  28.         mergesort(lefthalf)
  29.         mergesort(righthalf)
  30.         i = j = k = 0
  31.         while i < len(lefthalf) and j < len(righthalf) :
  32.             if lefthalf[i] < righthalf[j] :
  33.                 arr[k] = lefthalf[i]
  34.                 i += 1
  35.             else :
  36.                 arr[k] = righthalf[j]
  37.                 j += 1
  38.             k += 1
  39.         while i < len(lefthalf) :
  40.             arr[k]  = lefthalf[i]
  41.             i += 1
  42.             k += 1
  43.         while j < len(righthalf) :
  44.             arr[k] = righthalf[j]
  45.             j += 1
  46.             k += 1
  47.  
  48.     return arr
  49.  
  50. # For More Sorting Algorithms, Check my GitHub : https://github.com/Programmin-in-Python/Sorting-Algorithms.git
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement