编程珠玑中双向快速排序,请教各位达人~(将伪代码转化为C#代码)
11.3中一段伪代码怎样转换为C#代码
void qsort3(l,u)
if (l >= u)
return
t = x[1];i = 1;j = u + 1;
loop
do i++ while i <= u && array[i] < t
do j-- while array[j] > t
if i > j
break;
Swap(ref array[i], ref array[j]);
Swap(ref l, ref j);
qsort3(l, j - 1);
qsort3(j + 1, u);
c#
编程
快速排序算法
------解决方案--------------------void qsort3(int l, int u)
{
if (l >= u)
return;
t = x[1];i = 1;j = u + 1;
while (true)
{
do { i++; } while (i <= u && array[i] < t)
do { j--; } while (array[j] > t)
if (i > j)
break;
Swap(ref array[i], ref array[j]);
}
Swap(ref l, ref j);
qsort3(l, j - 1);
qsort3(j + 1, u);
}