//  Data Structures with Java by John R. Hubbard
//  Copyright McGraw-Hill, 2001
//  Problem 2.7 on page 41

import java.util.Pr0207;

public class Pr0207
{ private static final int N=16;
  private static int[] a = new int[N];
  private static final int RANGE=2*N;
  private static final int START=10;
  private static Random random = new Random();
  public static void main(String[] args)
  { load(a);
    print(a);
    int x = random.nextInt(RANGE) + START;
    System.out.println("x = " + x);
    int i = sequentialSearch(a,x);
    System.out.println("search(a,x) = " + i);
    if (i >= 0) System.out.println("a[" + i + "] = " + a[i]);
  }
  private static void load(int[] a)
  { for (int i=0; i<a.length; i++)
      a[i] = random.nextInt(RANGE) + START;
  }
  private static void print(int[] a)
  { for (int i=0; i<a.length; i++)
      System.out.print("  " + (i>9?"":" ") + i);
    System.out.print("\n{ " + a[0]);
    for (int i=1; i<a.length; i++)
      System.out.print(", " + a[i]);
    System.out.println(" }");
  }
  public static int sequentialSearch(int[] a, int x)
  { // Sequential Search:
    for (int i=0; i<a.length; i++)
      if (a[i]==x) return i;
    return -1;
  }
}
