sidrs

FDS (KR) Ass 5 - Quick Sort

Sep 25th, 2024 (edited)
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.06 KB | None | 0 0
  1. def getPercentages():
  2.     result = []
  3.     n = int(input("Enter the number of students: "))
  4.     for i in range(1, n + 1):
  5.         ptage = float(input("Enter the Percentage for Roll No. " + str(i) + ": "))
  6.         result.append(ptage)
  7.     return result
  8.  
  9.  
  10. def quicksort(left, right, arr):
  11.     if left < right:
  12.         pivotPos = partition(left, right, arr)
  13.         quicksort(left, pivotPos - 1, arr)
  14.         quicksort(pivotPos + 1, right, arr)
  15.  
  16. def partition(left, right, arr):
  17.     i = left
  18.     j = right
  19.     pivot = arr[right]
  20.     while i < j:
  21.         while i < right and arr[i] < pivot:
  22.             i += 1;
  23.         while j > left and arr[j] >= pivot:
  24.             j -= 1;
  25.         if i < j:
  26.             temp = arr[i]
  27.             arr[i] = arr[j]
  28.             arr[j] = temp
  29.     if arr[i] > pivot:
  30.         temp = arr[i]
  31.         arr[i] = arr[right]
  32.         arr[right] = temp
  33.     return i
  34.  
  35.  
  36. _left = 0
  37. _right = len(array) - 1
  38. quicksort(_left, _right, array)
  39.  
  40. print("The Top 5 Scores are: ")
  41. while (i > len(array)-1):
  42.     print(array[i], " ")
  43.     i -= 1
  44.  
Advertisement
Add Comment
Please, Sign In to add comment