<p>#| 25.2.6</p>
<p>Develop a variant of quick-sort that uses only one comparison function, say, &lt;. Its partitioning step divides the given list alon into a list that contains the items of alon smaller than (first alon) and another one with those that are not smaller.</p>

<p>Use local to combine the functions into a single function. Then abstract the new version to consume a list and a comparison function:</p>
<div>;; general-quick-sort : (X X  -&gt;  bool) (list X)  -&gt;  (list X)<br>(define (general-quick-sort a-predicate a-list) ...) |#</div>
<div> </div>
<div>I&#39;ve been stuck on this for over 90 minutes.  Will someone please rephrase the question or help me think about it a different way?  I can&#39;t think of a way to accomplish the sort using only one relational operator (&lt;).  Am I reading it wrong?  It sounds like I&#39;m supposed to build two lists at the same time and if a given input member is smaller than a threshold it goes in one and if not it goes in the other.  I can&#39;t wrap my head around how to make that happen.  I&#39;m sure that if I could just hear the problem a different way then I could make progress.  There is some meaning in my head that is out of sync with what&#39;s written that is blocking me from seeing how to approach this problem.  Thanks--</div>

<div> </div>
<div>Luke</div>