code: func medianOfThree(data []int, a, b, c int) {
  	m0 := b
  	m1 := a
  	m2 := c
  	// bubble sort on 3 elements
  	if data[m1] < data[m0] {
  		data[m1], data[m0] = data[m0], data[m1]
  	}
  	if data[m2] < data[m1] {
  		data[m2], data[m1] = data[m1], data[m2]
  	}
  	if data[m1] < data[m0] {
  		data[m1], data[m0] = data[m0], data[m1]
  	}
  	// now data[m0] <= data[m1] <= data[m2]
  }
docs: // Quicksort, following Bentley and McIlroy,
  // ``Engineering a Sort Function,'' SP&E November 1993.
  // medianOfThree moves the median of the three values data[a], data[b], data[c] into data[a].