Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
31
Task/Queue-Definition/Tcl/queue-definition-1.tcl
Normal file
31
Task/Queue-Definition/Tcl/queue-definition-1.tcl
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
proc push {stackvar value} {
|
||||
upvar 1 $stackvar stack
|
||||
lappend stack $value
|
||||
}
|
||||
proc pop {stackvar} {
|
||||
upvar 1 $stackvar stack
|
||||
set value [lindex $stack 0]
|
||||
set stack [lrange $stack 1 end]
|
||||
return $value
|
||||
}
|
||||
proc size {stackvar} {
|
||||
upvar 1 $stackvar stack
|
||||
llength $stack
|
||||
}
|
||||
proc empty {stackvar} {
|
||||
upvar 1 $stackvar stack
|
||||
expr {[size stack] == 0}
|
||||
}
|
||||
proc peek {stackvar} {
|
||||
upvar 1 $stackvar stack
|
||||
lindex $stack 0
|
||||
}
|
||||
|
||||
set Q [list]
|
||||
empty Q ;# ==> 1 (true)
|
||||
push Q foo
|
||||
empty Q ;# ==> 0 (false)
|
||||
push Q bar
|
||||
peek Q ;# ==> foo
|
||||
pop Q ;# ==> foo
|
||||
peek Q ;# ==> bar
|
||||
10
Task/Queue-Definition/Tcl/queue-definition-2.tcl
Normal file
10
Task/Queue-Definition/Tcl/queue-definition-2.tcl
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
package require struct::queue
|
||||
struct::queue Q
|
||||
Q size ;# ==> 0
|
||||
Q put a b c d e
|
||||
Q size ;# ==> 5
|
||||
Q peek ;# ==> a
|
||||
Q get ;# ==> a
|
||||
Q peek ;# ==> b
|
||||
Q pop 4 ;# ==> b c d e
|
||||
Q size ;# ==> 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue