Lines Matching refs:array
8 - an array visualizer with methods that implement basic sorting
14 all using the array visualizer for its basic operations and with calls
196 def __init__(self, array, index, value):
197 self.array = array
200 self.canvas = array.canvas
202 self.item_id = array.canvas.create_rectangle(x1, y1, x2, y2,
210 self.array = None
229 if i >= self.array.getsize():
230 i = self.array.getsize() - 1
233 other = self.array.items[i]
235 self.array.items[here], self.array.items[i] = other, self
244 if self.array.speed == "fastest":
253 self.array.wait(50)
258 if self.array.speed == "fastest":
269 self.array.master.update()
270 if self.array.speed == "single-step":
273 self.array.master.update()
276 self.array.wait(0)
292 self.array.wait(50)
318 self.array.wait(500)
327 y2 = (self.array.maxvalue+1)*YGRID
362 def uniform(array):
363 size = array.getsize()
364 array.setdata([(size+1)//2] * size)
365 array.reset("Uniform data, size %d" % size)
367 def distinct(array):
368 size = array.getsize()
369 array.setdata(range(1, size+1))
370 array.reset("Distinct data, size %d" % size)
372 def randomize(array):
373 array.reset("Randomizing")
374 n = array.getsize()
377 array.swap(i, j)
378 array.message("Randomized")
380 def insertionsort(array):
381 size = array.getsize()
382 array.reset("Insertion sort")
386 if array.compare(j, j+1) <= 0:
388 array.swap(j, j+1)
390 array.message("Sorted")
392 def selectionsort(array):
393 size = array.getsize()
394 array.reset("Selection sort")
397 array.show_partition(i, size)
399 if array.compare(i, j) > 0:
400 array.swap(i, j)
401 array.message("Sorted")
403 array.hide_partition()
405 def bubblesort(array):
406 size = array.getsize()
407 array.reset("Bubble sort")
410 if array.compare(j-1, j) > 0:
411 array.swap(j-1, j)
412 array.message("Sorted")
414 def quicksort(array):
415 size = array.getsize()
416 array.reset("Quicksort")
422 array.show_partition(first, last)
424 array.message("Insertion sort")
428 if array.compare(j, j+1) <= 0:
430 array.swap(j, j+1)
433 array.message("Choosing pivot")
435 if array.compare(k, i) < 0:
436 array.swap(k, i)
437 if array.compare(k, j) < 0:
438 array.swap(k, j)
439 if array.compare(j, i) < 0:
440 array.swap(j, i)
442 array.show_pivot(pivot)
443 array.message("Pivot at left of partition")
444 array.wait(1000)
448 array.message("Sweep right pointer")
450 array.show_right(right)
451 while right > first and array.compare(right, pivot) >= 0:
453 array.show_right(right)
454 array.message("Sweep left pointer")
456 array.show_left(left)
457 while left < last and array.compare(left, pivot) <= 0:
459 array.show_left(left)
461 array.message("End of partition")
463 array.message("Swap items")
464 array.swap(left, right)
465 array.message("Swap pivot back")
466 array.swap(pivot, right)
471 array.message("Sorted")
473 array.hide_partition()
475 def demosort(array):
478 randomize(array)
479 alg(array)
490 self.array = Array(self.master)
566 self.array.setdata(range(1, self.size+1))
597 self.array.setspeed(self.v_speed.get())
600 func(self.array)
610 self.array.cancel()
617 self.array.setspeed("single-step")
618 self.array.step()
622 self.array.cancel()