zoukankan      html  css  js  c++  java
  • 快速排序代码备份

    快速排序算法:

    // QuickSort.cpp : 定义控制台应用程序的入口点。
    //
    
    #include<iostream>
    using namespace std;
    
    template <typename T>
    void QSort(T* a, int n)
    {
        if (n <= 1) //记住是小于等于1
        {
            return;
        }
    
        if (n == 2)
        {
            if (a[0] > a[1])
                swap(a[0], a[1]);
            return; //记得有return
        }
    
        swap(*a, a[n>>1]);
        T v = *a;
        T* L = a + 1;
        T* R = a + n - 1;
    
        while( L < R)
        {
            while(*L < v && L < R) L++; //记得是小于,要等到>
            while(*R > v && R > a) R--; //记得是R--
            if ( L < R)
                swap(*L, *R);
        }
        swap(a[0], *R);
        QSort(a, R - a); //记得是从a开始
        QSort(R + 1, n - 1 - (R - a)); //记得个数的计算方法 总个数减去分界值减去左边的个数
    
    }
    
    int main(int argc, char* argv[])
    {
        int a[10];
        for (int i = 0; i < 10; ++i)
            a[i] = 10 - i;
        QSort(a, 10);
        for (int i = 0; i < 10; ++i)
            cout << a[i] << "" ;
        cout << endl;
    
        return 0;
    }
  • 相关阅读:
    Django与Ajax
    Django 常用字段和参数
    Django 模型层之多表操作
    Django 模型层之单表操作
    Django模板层
    Django 视图层
    Django 路由控制
    Django入门(下)
    Django入门(上)
    JavaScript常用类
  • 原文地址:https://www.cnblogs.com/autumoonchina/p/4121932.html
Copyright © 2011-2022 走看看