Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4da3b02

Browse files
committed
1.10
1 parenta6823fa commit4da3b02

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

‎algo_visualizer.py

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ def __init__(self, root, title) -> None:
3737
self.start.grid(column=5,row=2,padx=5,pady=5)
3838

3939
ttk.Label(self.root,text='Speed & Array Size:').grid(row=2,column=0)
40-
self.timespan=ttk.Scale(self.root,from_=1,to=1000,value=0.1,style='success.Horizontal.TScale',length=250,
40+
self.timespan=ttk.Scale(self.root,from_=1,to=1000,value=0.2,style='success.Horizontal.TScale',length=250,
4141
command=lambdax:self.slide_function())
4242
self.timespan.grid(row=2,column=1,columnspan=2)
43-
self.arraysize=ttk.Scale(self.root,from_=6,to=120,length=250,style='success.Horizontal.TScale',value=30,
43+
self.arraysize=ttk.Scale(self.root,from_=6,to=120,length=250,style='success.Horizontal.TScale',value=10,
4444
command=lambdax:self.slide_function())
4545
self.arraysize.grid(row=2,column=3,columnspan=2)
4646

@@ -57,9 +57,9 @@ def __init__(self, root, title) -> None:
5757

5858
# some constants
5959
self.speed=0.2
60-
self.N=30
60+
self.N=10
6161
self.colours=['dodgerblue'foriinrange(self.N)]
62-
N=30
62+
N=self.N
6363
self.data=np.linspace(5,400,N,dtype=np.uint16)
6464
np.random.shuffle(self.data)
6565
self.display(N,self.data,self.colours)
@@ -200,23 +200,29 @@ def start(self):
200200
ifself.st['bubble']isTrue:
201201
foriinrange(self.N-1):
202202
forjinrange(self.N-1-i):
203+
self.display(self.N,self.data,['purple'ifa==jora==j+1else'green'ifa>self.N-1-ielse'dodgerblue'forainrange(self.N)])
204+
time.sleep(self.speed)
203205
ifself.data[j]>self.data[j+1]:
206+
self.display(self.N,self.data,['red'ifa==jora==j+1else'green'ifa>self.N-1-ielse'dodgerblue'forainrange(self.N)])
207+
time.sleep(self.speed)
204208
self.data[j],self.data[j+1]=self.data[j+1],self.data[j]
205-
self.display(self.N,self.data,['purple'ifa==jora==j+1else'green'ifa>self.N-1-ielse'dodgerblue'forainrange(self.N)])
209+
self.display(self.N,self.data,['lime'ifa==jora==j+1else'green'ifa>self.N-1-ielse'dodgerblue'forainrange(self.N)])
206210
time.sleep(self.speed)
207-
self.display(self.N,self.data,['green'for_inrange(self.N)])
211+
self.display(self.N,self.data,['lime'for_inrange(self.N)])
208212

209213
elifself.st['insertion']isTrue:
210214
forjinrange(1,len(self.data)):
211215
key=self.data[j]
212216
i=j-1
217+
self.display(self.N,self.data,['purple'ifa==iora==i+1else'green'ifa<=jelse'dodgerblue'forainrange(self.N)])
218+
time.sleep(self.speed)
213219
whilei>=0andself.data[i]>key:
214220
self.data[i+1]=self.data[i]
215-
i-=1
216-
self.display(self.N,self.data,['purple'ifa==jora==j+1else'green'ifa<=jelse'dodgerblue'forainrange(self.N)])
221+
self.display(self.N,self.data,['yellow'ifa==ielse'green'ifa<=jelse'dodgerblue'forainrange(self.N)])
217222
time.sleep(self.speed)
223+
i-=1
218224
self.data[i+1]=key
219-
self.display(self.N,self.data,['green'for_inrange(self.N)])
225+
self.display(self.N,self.data,['lime'for_inrange(self.N)])
220226

221227
elifself.st['selection']isTrue:
222228
foriinrange(len(self.data)-1):
@@ -229,16 +235,16 @@ def start(self):
229235
min_index=j
230236
ifmin_index!=i:
231237
self.data[i],self.data[min_index]=self.data[min_index],self.data[i]
232-
self.display(self.N,self.data,['green'for_inrange(self.N)])
238+
self.display(self.N,self.data,['lime'for_inrange(self.N)])
233239

234240

235241
elifself.st['merge']isTrue:
236242
self.mergesort(self.data,0,self.N-1)
237-
self.display(self.N,self.data,['green'for_inrange(self.N)])
243+
self.display(self.N,self.data,['lime'for_inrange(self.N)])
238244

239245
elifself.st['quick']isTrue:
240246
self.quicksort(self.data,0,self.N-1)
241-
self.display(self.N,self.data,['green'for_inrange(self.N)])
247+
self.display(self.N,self.data,['lime'for_inrange(self.N)])
242248

243249
else:
244250
#show messege box

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp