zoukankan      html  css  js  c++  java
  • Quick Sort

    class Program
        {
            static int[] a = new int[] { 6, 1, 2, 7, 9, 3, 4, 5, 10, 8 };
            int n;
            static void Main(string[] args)
            {
                int i;
                int n = 9;
                quicksort(0, n);
    
    
                for (i = 0; i <= n; i++)
                    Console.WriteLine(a[i]);
            }
            static void quicksort(int left, int right)
            {
                int i, j, t, temp;
                if (left > right)
                    return;
    
                temp = a[left]; //temp中存的就是基准数
                i = left;
                j = right;
                while (i != j)
                {
                    //顺序很重要,要先从右边开始找
                    while (a[j] >= temp && i < j)
                        j--;
                    //再找右边的
                    while (a[i] <= temp && i < j)
                        i++;
                    //交换两个数在数组中的位置
                    if (i < j)
                    {
                        t = a[i];
                        a[i] = a[j];
                        a[j] = t;
                    }
                }
                //最终将基准数归位
                a[left] = a[i];
                a[i] = temp;
    
                quicksort(left, i - 1);//继续处理左边的,这里是一个递归的过程
                quicksort(i + 1, right);//继续处理右边的 ,这里是一个递归的过程
            }
    
        }
  • 相关阅读:
    Ztree
    WebAPI
    数据传输
    jqyery+ajax 提交表单
    初试 MVC+Boostrap
    CSV 导入SQL Server 中
    10-C语言循环结构(一)
    Linux测试语句(test)
    C 链表
    C递归
  • 原文地址:https://www.cnblogs.com/jenney-qiu/p/3628423.html
Copyright © 2011-2022 走看看