Suppose you have a number of possible operations which may be performed based on the value of a built-in data type.
if ( n == 0 ) { // case 0 } else if ( n == 1 ) { // case 1 } else if ( n == 2 ) { // case 2 } ... { // case N - 1 } else if ( n == N ) { // case N } else { // all other cases }
Such a structure would run in linear time with respect to the number of case... A switch statement is an alternative.
Note, a switch statement is not just another way of writing Code Fragment 1. It uses a completely different mechanism for finding the appropriate piece of code to execute so that it runs in O(1) time, instead of O(N).