class LinearSearch{
public static void main
(String[] a
){ System.
out.
println(new LS
().
Start(10)); }
}
// This class contains an array of integers and
// methods to initialize, print and search the array
// using Linear Search
class LS {
int[] number ;
int size ;
// Invoke methods to initialize, print and search
// for elements on the array
public int Start(int sz){
int aux01 ;
int aux02 ;
aux01 = this.Init(sz);
aux02 = this.Print();
System.
out.
println(this.
Search(8)); System.
out.
println(this.
Search(12)) ; System.
out.
println(this.
Search(17)) ; System.
out.
println(this.
Search(50)) ; return 55 ;
}
// Print array of integers
public int Print(){
int j ;
j = 1 ;
while (j < (size)) {
System.
out.
println(number
[j
]); j = j + 1 ;
}
return 0 ;
}
// Search for a specific value (num) using
// linear search
public int Search(int num){
int j ;
boolean ls01 ;
int ifound ;
int aux01 ;
int aux02 ;
int nt ;
j = 1 ;
ls01 = false ;
ifound = 0 ;
//System.out.println(num);
while (j < (size)) {
aux01 = number[j] ;
aux02 = num + 1 ;
if (aux01 < num) nt = 0 ;
else if (!(aux01 < aux02)) nt = 0 ;
else {
ls01 = true ;
ifound = 1 ;
j = size ;
}
j = j + 1 ;
}
return ifound ;
}
// initialize array of integers with some
// some sequence
public int Init(int sz){
int j ;
int k ;
int aux01 ;
int aux02 ;
size = sz ;
number = new int[sz] ;
j = 1 ;
k = size + 1 ;
while (j < (size)) {
aux01 = 2 * j ;
aux02 = k - 3 ;
number[j] = aux01 + aux02 ;
j = j + 1 ;
k = k - 1 ;
}
return 0 ;
}
}
Y2xhc3MgTGluZWFyU2VhcmNoewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYSl7CglTeXN0ZW0ub3V0LnByaW50bG4obmV3IExTKCkuU3RhcnQoMTApKTsKICAgIH0KfQoKCi8vIFRoaXMgY2xhc3MgY29udGFpbnMgYW4gYXJyYXkgb2YgaW50ZWdlcnMgYW5kCi8vIG1ldGhvZHMgdG8gaW5pdGlhbGl6ZSwgcHJpbnQgYW5kIHNlYXJjaCB0aGUgYXJyYXkKLy8gdXNpbmcgTGluZWFyIFNlYXJjaApjbGFzcyBMUyB7CiAgICBpbnRbXSBudW1iZXIgOwogICAgaW50IHNpemUgOwogICAgCiAgICAvLyBJbnZva2UgbWV0aG9kcyB0byBpbml0aWFsaXplLCBwcmludCBhbmQgc2VhcmNoCiAgICAvLyBmb3IgZWxlbWVudHMgb24gdGhlIGFycmF5CiAgICBwdWJsaWMgaW50IFN0YXJ0KGludCBzeil7CglpbnQgYXV4MDEgOwoJaW50IGF1eDAyIDsKCglhdXgwMSA9IHRoaXMuSW5pdChzeik7CglhdXgwMiA9IHRoaXMuUHJpbnQoKTsKCVN5c3RlbS5vdXQucHJpbnRsbig5OTk5KTsKCVN5c3RlbS5vdXQucHJpbnRsbih0aGlzLlNlYXJjaCg4KSk7CglTeXN0ZW0ub3V0LnByaW50bG4odGhpcy5TZWFyY2goMTIpKSA7CglTeXN0ZW0ub3V0LnByaW50bG4odGhpcy5TZWFyY2goMTcpKSA7CglTeXN0ZW0ub3V0LnByaW50bG4odGhpcy5TZWFyY2goNTApKSA7CglyZXR1cm4gNTUgOwogICAgfQoKICAgIC8vIFByaW50IGFycmF5IG9mIGludGVnZXJzCiAgICBwdWJsaWMgaW50IFByaW50KCl7CglpbnQgaiA7CgoJaiA9IDEgOwoJd2hpbGUgKGogPCAoc2l6ZSkpIHsKCSAgICBTeXN0ZW0ub3V0LnByaW50bG4obnVtYmVyW2pdKTsKCSAgICBqID0gaiArIDEgOwoJfQoJcmV0dXJuIDAgOwogICAgfQoKICAgIC8vIFNlYXJjaCBmb3IgYSBzcGVjaWZpYyB2YWx1ZSAobnVtKSB1c2luZwogICAgLy8gbGluZWFyIHNlYXJjaAogICAgcHVibGljIGludCBTZWFyY2goaW50IG51bSl7CglpbnQgaiA7Cglib29sZWFuIGxzMDEgOwoJaW50IGlmb3VuZCA7CglpbnQgYXV4MDEgOwoJaW50IGF1eDAyIDsKCWludCBudCA7CgoJaiA9IDEgOwoJbHMwMSA9IGZhbHNlIDsKCWlmb3VuZCA9IDAgOwoJCgkvL1N5c3RlbS5vdXQucHJpbnRsbihudW0pOwoJd2hpbGUgKGogPCAoc2l6ZSkpIHsKCSAgICBhdXgwMSA9IG51bWJlcltqXSA7CgkgICAgYXV4MDIgPSBudW0gKyAxIDsKCSAgICBpZiAoYXV4MDEgPCBudW0pIG50ID0gMCA7CgkgICAgZWxzZSBpZiAoIShhdXgwMSA8IGF1eDAyKSkgbnQgPSAwIDsKCSAgICBlbHNlIHsKCQlsczAxID0gdHJ1ZSA7CgkJaWZvdW5kID0gMSA7CgkJaiA9IHNpemUgOwoJICAgIH0KCSAgICBqID0gaiArIDEgOwoJfQoKCXJldHVybiBpZm91bmQgOwogICAgfQoKCiAgICAKICAgIC8vIGluaXRpYWxpemUgYXJyYXkgb2YgaW50ZWdlcnMgd2l0aCBzb21lCiAgICAvLyBzb21lIHNlcXVlbmNlCiAgICBwdWJsaWMgaW50IEluaXQoaW50IHN6KXsKCWludCBqIDsKCWludCBrIDsKCWludCBhdXgwMSA7CglpbnQgYXV4MDIgOwoKCXNpemUgPSBzeiA7CgludW1iZXIgPSBuZXcgaW50W3N6XSA7CgkKCWogPSAxIDsKCWsgPSBzaXplICsgMSA7Cgl3aGlsZSAoaiA8IChzaXplKSkgewoJICAgIGF1eDAxID0gMiAqIGogOwoJICAgIGF1eDAyID0gayAtIDMgOwoJICAgIG51bWJlcltqXSA9IGF1eDAxICsgYXV4MDIgOwoJICAgIGogPSBqICsgMSA7CgkgICAgayA9IGsgLSAxIDsKCX0KCXJldHVybiAwIDsJCiAgICB9Cgp9Cg==