快速排序 and 拉格朗日插值查找

时间:2023-03-09 03:19:52
快速排序 and 拉格朗日插值查找
        private static void QuictSort(int[] zu, int left, int right)
{
if (left < right)
{
int i = ;
int j = right - ;
int mid = zu[(left + right) / ];
while (true)
{
while (i<right && zu[i]<mid)
{
i++;
}
while (j > left && zu[j] > mid)
{
j--;
}
if (i == j)
{
break;
}
int temp = zu[i];
zu[i] = zu[j];
zu[j] = temp;
if (zu[i] == zu[j])
{
j--;
}
}
QuictSort(zu, left, i);
QuictSort(zu, i + , right);
} }
// 拉格朗日插值查找

 private static int LChaZhao(int[] zu, int key)
{
int left = ;
int right = zu.Length - ;
int middle = -;
while (left <= right)
{
middle = left + (right - left) * (key - zu[left]) / (zu[right] - zu[left]);
if (key == zu[middle])
{
return middle;
}
else if (key > zu[middle])
{
left = middle + ;
}
else
{
right = middle - ;
}
}
return -;
}