Three Ways to do Sequential Search Setup: We have an array of strings called 'List', indexed from 0 to 1000. One thousand strings are stored in 'List' in slots 1 through 1000. List[0] is unused. The strings are in no particular order within the array. Method One: For Loop Search for a string stored in the variable 'target' int location = -1 ; For (int i=1; i<=1000; i++) { if List[i] == target then location = i ; } Advantage: very simple to code Disadvantage: takes more time than it needs to - does not stop searching when target is found. Method Two: While-Loop Search for 'target' int i = 0; bool found = false ; While (i<=999 && !found) { i = i+1; if List[i] == target then found = true ; } Advantage: Assuming target is equally likely to be in any of the 1000 slots, this checks only half as many slots as Method One, on average. Disadvantage: Each time through the loop there's an extra check to see if 'found' is still false - so each "probe" requires one more test than Method One. Method Three: Sentinel Search int i=1000; bool found=false; List[0]= target ; While (List[i] != target) i-- ; Advantage: Checks only half the slots on average - like Method Two. Also does only one test per iteration of the loop. Disadvantage: It's O(n) - like Method One and Method Two