new files
This commit is contained in:
parent
3af7344581
commit
86c034bb8b
1364 changed files with 21352 additions and 0 deletions
25
Task/Binary-search/Tcl/binary-search-1.tcl
Normal file
25
Task/Binary-search/Tcl/binary-search-1.tcl
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
proc binSrch {lst x} {
|
||||
set len [llength $lst]
|
||||
if {$len == 0} {
|
||||
return -1
|
||||
} else {
|
||||
set pivotIndex [expr {$len / 2}]
|
||||
set pivotValue [lindex $lst $pivotIndex]
|
||||
if {$pivotValue == $x} {
|
||||
return $pivotIndex
|
||||
} elseif {$pivotValue < $x} {
|
||||
set recursive [binSrch [lrange $lst $pivotIndex+1 end] $x]
|
||||
return [expr {$recursive > -1 ? $recursive + $pivotIndex + 1 : -1}]
|
||||
} elseif {$pivotValue > $x} {
|
||||
set recursive [binSrch [lrange $lst 0 $pivotIndex-1] $x]
|
||||
return [expr {$recursive > -1 ? $recursive : -1}]
|
||||
}
|
||||
}
|
||||
}
|
||||
proc binary_search {lst x} {
|
||||
if {[set idx [binSrch $lst $x]] == -1} {
|
||||
puts "element $x not found in list"
|
||||
} else {
|
||||
puts "element $x found at index $idx"
|
||||
}
|
||||
}
|
||||
8
Task/Binary-search/Tcl/binary-search-2.tcl
Normal file
8
Task/Binary-search/Tcl/binary-search-2.tcl
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
proc binarySearch {lst x} {
|
||||
set idx [lsearch -sorted -exact $lst $x]
|
||||
if {$idx == -1} {
|
||||
puts "element $x not found in list"
|
||||
} else {
|
||||
puts "element $x found at index $idx"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue