Bubble Sort adaptation. Rewrite the following bubblesort algorithm so that in each pass, it “bubbles down” the smallest element to the left end. /*Bubble sort given list into ascending order Input: list a[0...n-1], n: the length of list a Output: list a is rearranged into ascending order BubbleSort (a, n) { //right points to the last element of the "remaining list" //it starts from n-1, after each pass, it decreases by 1 for right=n-1 downto 1: //perform one bubbling pass
Bubble Sort adaptation. Rewrite the following bubblesort
/*Bubble sort given list into ascending order
Input: list a[0...n-1],
n: the length of list a Output: list a is rearranged into ascending order BubbleSort (a, n) { //right points to the last element of the "remaining list" //it starts from n-1, after each pass, it decreases by 1 for right=n-1 downto 1: //perform one bubbling pass, bubbling up the largest element to right end for i=0 to right-1: if (a[i]>a[i+1]): swap (a[i], a[i+1])
}
Trace the execution of your adapted bubble sort (in Q3) on the following input. Minimally, draw the content of list a after each iteration of the outer-loop.
a=[5,3,10,4,2,1] n=6
Trending now
This is a popular solution!
Step by step
Solved in 2 steps