title: Understanding Dutch National flag Program
body: <p>I was reading the <a href="http://en.wikipedia.org/wiki/Dutch_national_flag_problem" rel="nofollow">Dutch national flag problem</a>, but couldn't understand what the <code>low</code> and <code>high</code> arguments are in the <code>threeWayPartition</code> function in the C++ implementation. </p>
  
  <p>If I assume them as min and max elements of the array to be sorted, then the <code>if</code> and <code>else if</code> statements doesn't makes any sense since <code>(data[i] &lt; low)</code> and <code>(data[i] &gt; high)</code> always returns zero.</p>
  
  <p>Where am I wrong? </p>