Learning: stuffing things in your head so you can pull them out later and use them.
public static bsearch(int a[], int x) { for (int i, i ≤ a.length, i++) { if (a[i] = x) return i; } return -1 } | int bsearch(int a[], int x) { for (int i = 0; i ≤ a.length; i++) { if (a[i] = x) return i; } i = -1; return i; } |
public static bsearch(int a[], int x) { for (int i, i ≤ a.length; i++) { if (a[i] = x) return i } return -1 } | int bsearch(int a[], int x) { for (int i = 0; i ≤ a.length; i++) { if (a[i] = x) return i; } i = -1; return i; |
unchanged | unchanged |
int bsearch(int a[], int x) { for (int i = 0, i < a.length; i++) { if (a[i] == x) return i; } return -1; } | int bsearch(int a[], int x) for i = 0, i ≤ a.length - 1, i++ if a[i] = x return i else a[i] != x return -1 |
int bsearch(int a[], int x) { for (int i = 0; i < a.length; i++) { if (a[i] == x) return i; } return -1; } | int bsearch(int a[], int x) { for (i = 0; i ≤ a.length - 1; i++) { if (a[i] == x) { return i; } return -1; } } |
unchanged | different |
int search(int array[], int x) if (array[i] = x) return i; else if (array[i] =! x) return -1; | int bsearch(int a[], int x); if (a[i] = x) return i; else return -1; |
int search(int a[], int x) if (a[i] = x) return i; else if (a[i] =! x) return -1; else return -1; | int bsearch(int a[], int x) if (a[i] = x) return i; if (a[i] != x) return -1; |
different | different |
public int searchX(int a[], int x) [ int val = -1; for (int i = 0; i ≤ a.length; i++) [ if (a[i] == x) val = i; ] return val; ] | for (int = i, i ≤ a.length, i++) if (int a[] int x) { return i; else return -1; } |
public int searchX(int a[], int x) { int val = -1; for (int i = 0; i ≤ a.length; i++) { if (a[i] == x) val = i; } return val; } | for (int i = 0, i ≤ a.length, i++) { if (int i == x) { return value i; } return value -1; } |
different | different |
public int bSearch(int a[], int x) { for (int i = 0; i < a[].length; i++) { if (a[i] = x) return i; else i++; if (x =! a[]) return -1 } } | int bsearch(int a[], int x); if ( return i; else return -1; |
int bSearch(int x[], int x) { for (int i = 0; i < a[].length; i++) { if (a[i] = x) return i; else i++; } return -1; } | int bsearch(int a[], int x); for (i = 0; i++; x) if ( return i; |
different | different |
int bsearch(int [] a, int x) { // assume sorted ascending for (i = 0; i < a.length -1; i++) { if (a[i] == x) return i else if (a[i] > x) return -1; } return -1; } | binary search: int a[], int x, int i; if a[] = x return z; if x != 0 return -1 |
int bsearch(int a[], int x) { // assume a[] is sorted ascending for (i = 0; i < a.length -1 ; i++) { if (a[i] == x) return i else { if (a[i] > x) return -1; } } return -1; } | int binary(int a[], int x); { for (i = 0, i > 0, i++) { if a[] == x return x else a[] > x return -1 } return -1 } |
int search(array [], int x) { int length = array.length; for (int i = 0; i < length; ++i) if length[i] == x return i; else return -1; } | int bsearch(int a[], int i) { if (x == a[i]) return i; else { i = -1; return i; } } |
int public search(array [], int x) { int length = array.length; for (int i = 0; i < length; ++i) { if (length ≥ 0) { if array[i] == x; return i; else return -1; } else return "empty array"; } } | int bsearch(int a[], int z) { int length = array.length; for (int i = 0; i < length, i++) { if (x == a[i]) return i; if (a[i] == null) return -1; else return -1; } } |
different | different |
P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Q 1 | ||||||||||||||
Q 2 | ||||||||||||||
Q 3 |
Error Count non-looping code* 5 indexing exception 4 uninitialized index 3 truncated iterations 3 wrong return value 1 early termination 1 skipping elements 1 Revised program counts, except *: 5 original, 1 revised.
for (int i = 0; i ≤ a.length; i++) if (a[i] == x) ...
for (int i = 0; i < a.length - 1; i++) if (a[i] == x) ...
This page last modified on 24 January 2010. |