Skip to content

Commit cd893e4

Browse files
committed
merge sort complete
1 parent 28e55ec commit cd893e4

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

algo_visualizer.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -268,17 +268,23 @@ def mergesort(self,a,front,last):
268268
return
269269

270270
while front<=mid and rj<=last:
271+
self.display(self.N,self.data,['yellow' if x==front or x==rj else 'dodgerblue' for x in range(self.N)])
272+
time.sleep(self.speed)
271273
if a[front]<=a[rj]:
274+
self.display(self.N,self.data,['lime' if x==front or x==rj else 'dodgerblue' for x in range(self.N)])
275+
time.sleep(self.speed)
272276
front+=1
273277
else:
278+
self.display(self.N,self.data,['red' if x==front or x==rj else 'dodgerblue' for x in range(self.N)])
279+
time.sleep(self.speed)
274280
temp=a[rj]
275281
i=rj
276282
while i!=front:
277283
a[i]=a[i-1]
278-
self.display(self.N,self.data,['purple' if x==i else 'dodgerblue' for x in range(self.N)])
279-
time.sleep(self.speed)
280284
i-=1
281285
a[front]=temp
286+
self.display(self.N,self.data,['lime' if x==front or x==rj else 'dodgerblue' for x in range(self.N)])
287+
time.sleep(self.speed)
282288

283289
front+=1
284290
mid+=1
@@ -300,13 +306,14 @@ def partition(self,a,i,j):
300306
pivot=a[i]
301307

302308
while i<j:
303-
while i<len(a) and a[i]<= pivot :
309+
while i<len(a) and a[i]<= pivot:
304310
i+=1
305311
while a[j]>pivot:
306312
j-=1
307313
if i<j:
308314
a[i],a[j]=a[j],a[i]
309-
315+
self.display(self.N,self.data,['yellow' if x==i or x==j else "dodgerblue" for x in range(self.N)])
316+
time.sleep(self.speed)
310317
a[j],a[l]=a[l],a[j]
311318
return j
312319

0 commit comments

Comments
 (0)