码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-11-15 15:25:34      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:temp   快速   length   --   快速排序   ret   ==   return   ati   

        private static void QuictSort(int[] zu, int left, int right)
        {
            if (left < right)
            {
                int i = 0;
                int j = right - 1;
                int mid = zu[(left + right) / 2];
                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 + 1, right);
            }
            
        }

// 拉格朗日插值查找

private static int LChaZhao(int[] zu, int key) { int left = 0; int right = zu.Length - 1; int middle = -1; 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 + 1; } else { right = middle - 1; } } return -1; }

 

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

标签:temp   快速   length   --   快速排序   ret   ==   return   ati   

原文地址:https://www.cnblogs.com/zhaodadan/p/9963448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!