Example Structure binarySearch 001

 

 

Description

Each one of these examples defines a sorted Structure. Then it uses the binarySearch function to search for a key in the defined Structures.

 

Details

The key b: is not contained in the Structure

(binarySearch #{a: 4.2 c: 5.1} b:) Returns: false

The key a: has index value 0 in the Structure.

(binarySearch #{a: 4.2 c: 5.1} a:) Returns: 0

The Boolean value false indicates that the comparison is made on the object IDs only.

(binarySearch #{a: 4.2 c: 5.1} a: false) Returns: 0

Notes and Hints

The Structure must have previously been sorted for the binarySearch function to work.

 

Related Examples

Here are examples of the binarySearch function at work.

CpxVector binarySearch 008 Dictionary binarySearch 002 FltVector binarySearch 005 IntVector binarySearch 006
Matrix binarySearch 005 Matrix binarySearch 006 NumMatrix binarySearch 007 NumVector binarySearch 007
ShortVector binarySearch 007 Structure binarySearch 001 Vector binarySearch 003 Vector binarySearch 004

 

Function Links

Here is the link to the current function used in this example.

binarySearch

Here are a number of links to other related functions.

insert(#void) binaryInsert(#void) sort(#void) uniqueInsert(#void)

 

Argument Types

Here are the links to the data types of the arguments used in this example.

Structure Boolean Integer Symbol

Here are a number of links to examples having similar argument types.

BitVector addMethod 023 BitVector cdr 010 BitVector compare 018 BitVector compareEQ 014
BitVector compareGE 014 BitVector compareGT 014 BitVector compareLE 014 BitVector compareLT 014
BitVector compareNE 014 BitVector comparison 014 BitVector defmethod 020 BitVector findBlock 001
BitVector freeBlock 001 BitVector inside 007 BitVector isAtom 010 BitVector isBitVector 001
BitVector isEqual 017 BitVector isIdentical 017 BitVector isMember 008 BitVector isObject 012
BitVector isType 020 BitVector length 013 BitVector member 008 BitVector methodsOf 021
BitVector ref 027 BitVector resize 010 BitVector sizeof 019 BitVector sort 017
BitVector vectorFill 007 Boolean addMethod 011 Boolean addMethod 012 Boolean bcompareEQ 001
Boolean bcompareGE 001 Boolean bcompareGT 001 Boolean bcompareLE 001 Boolean bcompareLT 001
Boolean bcompareNE 001 Boolean boolean 001 Boolean compare 009 Boolean compareEQ 009
Boolean compareGE 009 Boolean compareGT 009 Boolean compareLE 009 Boolean compareLT 009
Boolean compareNE 009 Boolean comparison functions 009 Boolean defmethod 012 Boolean isBoolean 001
Boolean isEqual 007 Boolean isIdentical 007 Boolean isType 011 Boolean methodsOf 012
Boolean ref 018 Boolean send 010 Boolean setq 016 Boolean sizeof 009
Boolean type 011 Brick addMethod 008 Brick defmethod 025 Brick methodsOf 024
Brick send 027 ByteVector isByteVector 001 ByteVector isCharAlphabetic 003 ByteVector isCharAlphanumeric 003
ByteVector isCharLowercase 003 ByteVector isCharName 003 ByteVector isCharNumeric 003 ByteVector isCharUppercase 003
ByteVector isCharWhitespace 003 ByteVector isObject 013 ByteVector sizeof 020 Character addMethod 013
Character cadd 001 Character ccompareEQ 001 Character ccompareGE 001 Character ccompareGT 001
Character ccompareLE 001 Character ccompareLT 001 Character ccompareNE 001 Character cdiv 001
Character character 001 Character cmod 001 Character cmul 001 Character compare 010
Character csub 001 Character defmethod 013 Character isCharacter 001 Character methodsOf 013
Character send 011 Character sizeof 010 Complex compare 021 Complex cos 002
Complex exp 002 Complex expt 002 Complex isComplex 001 Complex log 002
Complex log10 002 Complex log2 002 Complex logbase 002 Complex sin 002
Complex sqrt 002 Complex tan 002 Context clear 001 Context debug 001
Context getGlobalValue 001 Context getSymbolTable 001 Context globalBinding 001 CpxVector addMethod 028
CpxVector avg 002 CpxVector binaryInsert 008 CpxVector binarySearch 008 CpxVector compare 020
CpxVector compareEQ 020 CpxVector compareGE 020 CpxVector compareGT 020 CpxVector compareLE 020
CpxVector compareLT 020 CpxVector compareNE 020 CpxVector send 028 Date addMethod 015
Date addMethod 016 Date compare 012 Date date 001 Date day 001
Date days360 001 Date defmethod 015 Date hour 001 Date methodsOf 015
Date minute 001 Date month 001 Date second 001 Date send 013
Date sizeof 012 Date time 001 Date time 002 Date year 001
Dictionary addMethod 005 Dictionary binarySearch 002 Dictionary compare 004 Dictionary compareEQ 004
Dictionary compareGE 004 Dictionary compareGT 004 Dictionary compareLE 004 Dictionary compareLT 004
Dictionary compareNE 004 Dictionary comparison functions 004 Dictionary count 002 Dictionary defMethod 006
Dictionary delete 003 Dictionary delete 004 Dictionary insert 002 Dictionary inside 002
Dictionary isAtom 002 Dictionary isBound 002 Dictionary isDictionary 001 Dictionary isEqual 002
Dictionary isIdentical 002 Dictionary isInside 002 Dictionary isMember 002 Dictionary isObject 004
Dictionary isType 006 Dictionary length 005 Dictionary member 002 Dictionary methodsOf 007
Dictionary new 004 Dictionary ref 007 Dictionary ref 008 Dictionary ref 009
Dictionary refAttributes 002 Dictionary refValues 002 Dictionary remove 002 Dictionary resize 002
Dictionary send 004 Dictionary setAttributes 002 Dictionary setq 007 Dictionary setq 008
Dictionary setq 009 Dictionary sizeof 004 Dictionary sort 003 Dictionary sort 005
Directory addMethod 006 Directory compare 005 Directory compareEQ 005 Directory compareGE 005
Directory compareGT 005 Directory compareLE 005 Directory compareLT 005 Directory compareNE 005
Directory comparison functions 005 Directory count 003 Directory defMethod 007 Directory delete 005
Directory delete 006 Directory insert 003 Directory inside 003 Directory isAtom 003
Directory isBound 003 Directory isDirectory 001 Directory isEqual 003 Directory isIdentical 003
Directory isInside 003 Directory isMember 003 Directory isObject 005 Directory isType 007
Directory length 006 Directory member 002 Directory member 003 Directory methodsOf 008
Directory new 005 Directory new 006 Directory ref 010 Directory ref 011
Directory ref 012 Directory refAttributes 003 Directory refValues 003 Directory remove 003
Directory resize 003 Directory send 005 Directory setAttributes 003 Directory setq 010
Directory setq 011 Directory sizeof 005 Directory sort 008 Directory sort 009
Error isIdentical 007 FltVector addMethod 019 FltVector binaryInsert 004 FltVector binarySearch 005
FltVector cdr 006 FltVector compare 014 FltVector compareEQ 014 FltVector compareGE 014
FltVector compareGT 014 FltVector compareLE 014 FltVector compareLT 014 FltVector compareNE 014
FltVector comparison functions 014 FltVector defmethod 017 FltVector delete 009 FltVector insert 005
FltVector isAtom 005 FltVector isEqual 013 FltVector isFloatVector 001 FltVector isIdentical 012
FltVector isObject 007 FltVector isType 016 FltVector length 008 FltVector methodsOf 017
FltVector ref 022 FltVector resize 006 FltVector sizeof 014 FltVector sort 013
FltVector uniqueInsert 004 FltVector vectorFill 003 Function addMethod 017 Function addMethod 018
Function compare 013 Function defmethod 016 Function methodsOf 016 Function send 014
Function sizeof 013 IntVector addMethod 020 IntVector binaryInsert 005 IntVector binarySearch 006
IntVector cdr 007 IntVector compare 015 IntVector compareEQ 014 IntVector compareGE 014
IntVector compareGT 014 IntVector compareLE 014 IntVector compareLT 014 IntVector compareNE 014
IntVector comparison functions 014 IntVector defmethod 018 IntVector delete 010 IntVector insert 006
IntVector inside 005 IntVector isAtom 006 IntVector isEqual 014 IntVector isIdentical 013
IntVector isIntegerVector 001 IntVector isMember 005 IntVector isObject 008 IntVector isType 017
IntVector length 009 IntVector member 005 IntVector methodsOf 018 IntVector ref 023
IntVector resize 007 IntVector sizeof 015 IntVector sort 014 IntVector uniqueInsert 005
IntVector vectorFill 004 Integer binaryNot 001 Integer bitwiseNot 001 Integer fact 001
Integer gcd 001 Integer iadd 001 Integer icompareGE 001 Integer icompareGT 001
Integer icompareLE 001 Integer icompareLT 001 Integer icompareNE 001 Integer idiv 001
Integer imod 001 Integer imul 001 Integer integer 001 Integer isub 001
Integer lcm 001 Lambda balance 001 Lambda compare 008 Lambda compareEQ 008
Lambda compareGE 008 Lambda compareGT 008 Lambda compareLE 008 Lambda compareLT 008
Lambda compareNE 004 Lambda compile 001 Lambda debug 001 Lambda define(macro) 001
Lambda defmacro 001 Lambda defmacro 002 Lambda exportTab 001 Lambda globalBinding 001
Lambda importTab 001 Lambda isLambda 001 Lambda onError 001 Lambda ref 017
List addMethod 025 List compare 020 List compareEQ 020 List compareGE 020
List compareGT 020 List compareLE 020 List compareLT 020 List compareNE 020
List comparison 020 List count 007 List count 008 List defmethod 022
List isObject 015 List length 015 List methodsOf 022 List send 020
List sizeof 022 Matrix addMethod 008 Matrix binaryInsert 004 Matrix binaryInsert 005
Matrix binarySearch 005 Matrix binarySearch 006 Matrix cdr 007 Matrix cdr 008
Matrix compare 007 Matrix compareEQ 007 Matrix compareGE 007 Matrix compareGT 007
Matrix compareLE 007 Matrix compareLT 007 Matrix compareNE 007 Matrix comparison functions 007
Matrix count 005 Matrix defMethod 009 Matrix delete 009 Matrix insert 005
Matrix inside 005 Matrix isAtom 005 Matrix isEqual 005 Matrix isIdentical 005
Matrix isMatrix 001 Matrix isMember 005 Matrix isNumberMatrix 001 Matrix isObject 007
Matrix isType 009 Matrix length 008 Matrix makeGaussianMatrix 001 Matrix makeGramMatrix 001
Matrix matrixGaussianEliminate 001 Matrix matrixGaussianSubstitute 001 Matrix member 005 Matrix methodsOf 010
Matrix rank 001 Matrix ref 015 Matrix ref 016 Matrix resize 005
Matrix sizeof 007 Matrix uniqueInsert 004 Matrix vectorFill 002 NumMatrix addMethod 027
NumMatrix binaryInsert 007 NumMatrix binarySearch 007 NumMatrix cdr 011 NumMatrix compare 023
NumMatrix compareEQ 023 NumMatrix compareGE 023 NumMatrix compareGT 023 NumMatrix compareLE 023
NumMatrix compareLT 023 NumMatrix compareNE 023 NumMatrix comparison functions 023 NumMatrix count 009
NumMatrix defmethod 024 NumMatrix delete 014 NumMatrix insert 009 NumMatrix inside 009
NumMatrix isAtom 012 NumMatrix isEqual 020 NumMatrix isIdentical 020 NumMatrix isMember 010
NumMatrix isNumberMatrix 001 NumMatrix isObject 014 NumMatrix isType 022 NumMatrix length 017
NumMatrix makeGaussianMatrix 001 NumMatrix makeGramMatrix 001 NumMatrix matrixGaussianEliminate 001 NumMatrix matrixGaussianSubstitute 001
NumMatrix member 009 NumMatrix methodsOf 024 NumMatrix rank 002 NumMatrix ref 035
NumMatrix resize 011 NumMatrix sizeof 028 NumMatrix uniqueInsert 005 NumMatrix vectorFill 008
NumVector addMethod 021 NumVector binaryInsert 006 NumVector binarySearch 007 NumVector cdr 008
NumVector compare 016 NumVector compareEQ 014 NumVector compareGE 014 NumVector compareGT 014
NumVector compareLE 014 NumVector compareLT 014 NumVector compareNE 014 NumVector comparison 014
NumVector defmethod 019 NumVector delete 011 NumVector insert 007 NumVector inside 006
NumVector isAtom 007 NumVector isEqual 015 NumVector isIdentical 014 NumVector isMember 006
NumVector isNumberVector 001 NumVector isObject 009 NumVector isType 018 NumVector length 010
NumVector member 006 NumVector methodsOf 019 NumVector objectToNumVector 001 NumVector ref 024
NumVector resize 008 NumVector sizeof 016 NumVector sort 015 NumVector svmRegression 001
NumVector uniqueInsert 006 NumVector vectorFill 005 Number addMethod 014 Number asin 001
Number atan 001 Number avg 001 Number compare 011 Number cos 001
Number cosh 001 Number defmethod 014 Number deg 001 Number exp 001
Number floor 001 Number kurtosis 001 Number log 001 Number log10 001
Number log2 001 Number logbase 001 Number max 001 Number median 001
Number methodsOf 014 Number min 001 Number mod 001 Number modi 001
Number nadd 001 Number ncompareGE 001 Number ncompareGT 001 Number ncompareLE 001
Number ncompareLT 001 Number ndiv 001 Number nmod 001 Number nmul 001
Number nsub 001 Number number 001 Number pi 001 Number product 001
Number rad 001 Number random 001 Number randomize 001 Number range 001
Number round 001 Number send 012 Number sign 001 Number sin 001
Number sinh 001 Number sizeof 011 Number skew 001 Number sqrt 001
Number srandom 001 Number stdev 001 Number stdevp 001 Number sumsqr 001
Number tan 001 Number tanh 001 Number var 001 Number varp 001
ObjVector addMethod 022 ObjVector cdr 009 ObjVector compare 017 ObjVector compareEQ 014
ObjVector compareGE 014 ObjVector compareGT 014 ObjVector compareLE 014 ObjVector compareLT 014
ObjVector compareNE 014 ObjVector comparison functions 014 ObjVector delete 012 ObjVector insert 008
ObjVector isAtom 008 ObjVector isEqual 016 ObjVector isIdentical 015 ObjVector isMember 007
ObjVector isObject 010 ObjVector isObjectVector 001 ObjVector isType 019 ObjVector length 011
ObjVector member 007 ObjVector ref 025 ObjVector resize 009 ObjVector sizeof 017
ObjVector sort 016 ObjVector uniqueInsert 007 ObjVector vectorFill 006 ObjectRepository addMethod 026
ObjectRepository clear 002 ObjectRepository compare 021 ObjectRepository compare 022 ObjectRepository compareEQ 021
ObjectRepository compareEQ 022 ObjectRepository compareGE 021 ObjectRepository compareGE 022 ObjectRepository compareGT 021
ObjectRepository compareGT 022 ObjectRepository compareLE 021 ObjectRepository compareLE 022 ObjectRepository compareLT 021
ObjectRepository compareLT 022 ObjectRepository compareNE 021 ObjectRepository compareNE 022 ObjectRepository comparison 021
ObjectRepository comparison 022 ObjectRepository defmethod 023 ObjectRepository delete 013 ObjectRepository isIdentical 019
ObjectRepository isImmediate 001 ObjectRepository methodsOf 023 ObjectRepository saveImmediate 001 ObjectRepository send 026
Pair addMethod 024 Pair compare 019 Pair compareEQ 019 Pair compareGE 019
Pair compareGT 019 Pair compareLE 019 Pair compareLT 019 Pair compareNE 019
Pair comparison 019 Pair count 006 Pair defmethod 021 Pair isObject 014
Pair length 014 Pair methodsOf 021 Pair send 019 Pair sizeof 021
PcodeVector isAtom 009 PcodeVector isIdentical 016 PcodeVector isObject 011 PcodeVector isPcodeVector 001
PcodeVector length 012 PcodeVector methodsOf 020 PcodeVector ref 026 PcodeVector sizeof 018
ShortVector addMethod 021 ShortVector binaryInsert 006 ShortVector binarySearch 007 ShortVector cdr 008
ShortVector compare 016 ShortVector compareEQ 015 ShortVector compareGE 015 ShortVector compareGT 015
ShortVector compareLE 015 ShortVector compareLT 015 ShortVector compareNE 015 ShortVector comparison functions 015
ShortVector defmethod 019 ShortVector delete 011 ShortVector insert 007 ShortVector inside 006
ShortVector isAtom 007 ShortVector isEqual 015 ShortVector isIdentical 014 ShortVector isMember 006
ShortVector isObject 009 ShortVector isType 018 ShortVector length 010 ShortVector member 006
ShortVector methodsOf 019 ShortVector ref 024 ShortVector resize 008 ShortVector sizeof 016
ShortVector sort 015 ShortVector uniqueInsert 007 ShortVector vectorFill 005 String code 001
String compare 001 String compareEQ 001 String compareGE 001 String compareGT 001
String compareLE 001 String compareLT 001 String compareNE 001 String comparison functions 001
String find 001 String find 002 String hashString 001 String isChar 001
String isCharAlphabetic 001 String isCharAlphanumeric 001 String isCharLowercase 001 String isCharName 001
String isCharNumeric 001 String isCharUppercase 001 String isCharWhitespace 001 String isEqual 001
String isEqual 002 String isObject 001 String isString 001 String isText 001
String isType 001 String isType 002 String isType 003 String left 001
String length 001 String length 002 String mid 001 String new 001
String parse 001 String ref 001 String ref 002 String replace 001
String rept 001 String right 001 String setq 001 String sizeof 001
String string 001 String string 002 String string 003 String stringCiEQ 001
String stringCiGE 001 String stringCiGT 001 String stringCiLE 001 String stringCiLT 001
String stringCiNE 001 String substitute 001 String substitute 002 String substring 001
String substring 002 String substringCiEQ 001 String substringCiGE 001 String substringCiGT 001
String substringCiLE 001 String substringCiLT 001 String substringCiNE 001 String text 001
String type 001 Structure addMethod 003 Structure addMethod 004 Structure append 004
Structure append 005 Structure apply 001 Structure apply 002 Structure binaryInsert 001
Structure binarySearch 001 Structure cdr 001 Structure cdr 002 Structure compareEQ 003
Structure compareGE 003 Structure compareGT 003 Structure compareLE 003 Structure compareLT 003
Structure compareNE 003 Structure comparison functions 003 Structure copy 001 Structure count 001
Structure defineStructure 001 Structure defineStructure 002 Structure defineStructure 003 Structure defmethod 004
Structure defmethod 005 Structure defstruct 001 Structure defstruct 002 Structure delete 001
Structure delete 002 Structure fieldsOf 001 Structure insert 001 Structure inside 001
Structure isAtom 001 Structure isBound 001 Structure isEqual 001 Structure isIdentical 001
Structure isInside 001 Structure isMember 001 Structure isObject 003 Structure isStructure 001
Structure isType 005 Structure length 004 Structure makeStructure 001 Structure makeStructure 002
Structure map 001 Structure mapc 001 Structure member 001 Structure methodsOf 005
Structure new 003 Structure objectToStructure 001 Structure objectToStructure 002 Structure objectToStructure 003
Structure objectToStructure 004 Structure ref 004 Structure ref 006 Structure refAttributes 001
Structure refValues 001 Structure remove 001 Structure resize 001 Structure send 003
Structure setAttributes 001 Structure setCdr 001 Structure setCdr 002 Structure setLastCdr 001
Structure setq 003 Structure setq 004 Structure setq 005 Structure setq 006
Structure sizeof 003 Structure sort 001 Structure sort 002 Structure sort 003
Structure type 003 Structure type 004 Structure type 005 Structure uniqueInsert 001
Structure uniqueInsert 002 Symbol *< 001 Symbol ++ 001 Symbol +< 001
Symbol -- 001 Symbol -< 001 Symbol /< 001 Symbol addMethod 002
Symbol append 003 Symbol compare 002 Symbol compareEQ 002 Symbol compareGE 002
Symbol compareGT 002 Symbol compareLE 002 Symbol compareLT 002 Symbol compareNE 002
Symbol comparison functions 002 Symbol defMethod 003 Symbol downcase 002 Symbol getGlobalValue 001
Symbol getGlobalValue 002 Symbol getSymbolTable 001 Symbol getSymbolTable 002 Symbol hashString 002
Symbol isCharAlphabetic 002 Symbol isCharAlphanumeric 002 Symbol isCharLowercase 002 Symbol isCharName 002
Symbol isCharNumeric 002 Symbol isCharUppercase 002 Symbol isCharWhitespace 002 Symbol isObject 002
Symbol isSymbol 001 Symbol isType 004 Symbol length 003 Symbol methodsOf 004
Symbol new 002 Symbol proplist 001 Symbol proprecord 001 Symbol putprop 001
Symbol ref 003 Symbol remProp 001 Symbol setq 001 Symbol setq 002
Symbol sizeof 002 Symbol symbol 001 Symbol symbol 002 Symbol type 002
Symbol upcase 004 Vector addMethod 007 Vector binaryInsert 002 Vector binaryInsert 003
Vector binarySearch 003 Vector binarySearch 004 Vector cdr 005 Vector cdr 006
Vector compare 006 Vector compareEQ 006 Vector compareGE 006 Vector compareGT 006
Vector compareLE 006 Vector compareLT 006 Vector compareNE 006 Vector comparison functions 006
Vector count 004 Vector defmethod 008 Vector delete 007 Vector delete 008
Vector insert 004 Vector inside 004 Vector isAtom 004 Vector isEqual 004
Vector isIdentical 004 Vector isMember 004 Vector isObject 006 Vector isType 008
Vector isVector 001 Vector length 007 Vector member 004 Vector methodsOf 009
Vector objectToVector 001 Vector ref 013 Vector ref 014 Vector refAttributes 004
Vector refValues 004 Vector resize 004 Vector setAttributes 004 Vector setAttributes 005
Vector setBlock 001 Vector sizeof 006 Vector sort 011 Vector uniqueInsert 003
Vector vectorFill 001 Void addMethod 009 Void addMethod 010 Void compare 008
Void compareEQ 008 Void compareGE 008 Void compareGT 008 Void compareLE 008
Void compareLT 008 Void compareNE 008 Void comparison functions 008 Void defmethod 010
Void defmethod 011 Void isEqual 006 Void isIdentical 006 Void isType 010
Void methodsOf 011 Void ref 017 Void sizeof 008 substringEQ 001
substringGE 001 substringGT 001 substringLE 001 substringLT 001
substringNE 001

Analytic Information Server (AIS)

AIS Component Systems

  • Smartbase Engine
  • QT C++ Libraries
  • MySQL Relational Database
  • AIS Lisp Libraries
  • Rapid Analytic Demo IDE