zoukankan      html  css  js  c++  java
  • 对于快速排序的理解

    普通快速排序其实就是递归分割,首先去一个基准数将数组以此为大小分割成两份,然后再递归对此两份数组分别再进行同样的操作。


    int getIndex(int* pArry, int low, int high)
    {
    int temp = pArry[low];
    while (low < high)
    {
    while (low < high && pArry[high] >= temp)
    {
    high--;
    }
    pArry[low] = pArry[high];

    while (low < high && pArry[low] <= temp)
    {
    low++;
    }
    pArry[high] = pArry[low];

    if (high != low)
    {
    std::cout << "low : " << low << " " << "high: " << high << " " << "array : " << pArry[0] << " " << pArry[1] << " " << pArry[2] << " " << pArry[3] << " "
    << pArry[4] << " " << pArry[5] << " " << pArry[6] << " " << pArry[7] << " " << pArry[8] << " " << pArry[9] << endl;
    }
    }
    pArry[low] = temp;
    std::cout << "low : " << low << " " << "high: " << high << " " << "array : " << pArry[0] << " " << pArry[1] << " " << pArry[2] << " " << pArry[3] << " "
    << pArry[4] << " " << pArry[5] << " " << pArry[6] << " " << pArry[7] << " " << pArry[8] << " " << pArry[9] << endl;
    return low;
    }

    int quicksort_ordinary(int* pArry, int low, int high)
    {
    if (low < high)
    {
    int index = getIndex(pArry, low, high);
    quicksort_ordinary(pArry, low, index - 1);
    quicksort_ordinary(pArry, index + 1, high);
    }
    return 0;
    }

    int main(int argc, char* argv[])
    {

    srand(time(nullptr));
    int array[10] = { 0 }; // { 63, 85, 41, 74, 51, 30, 75, 4, 23 };
    for (int i = 0; i < 10; ++i)
    {
    array[i] = rand() % 100 + 1;
    }

    std::cout << "original array : " << array[0] << " " << array[1] << " " << array[2] << " " << array[3] << " "
    << array[4] << " " << array[5] << " " << array[6] << " " << array[7] << " " << array[8] << " " << array[9] << endl;

    quicksort_ordinary(array, 0, 9);


    char t = getchar();
    return 1;
    }

  • 相关阅读:
    iOS 简单获取当前地理坐标
    iOS 企业账号申请证书和打包ipa
    iOS 代码片段的添加!
    iOS 扩展类方法之category!
    iOS 数组和字典排序
    iOS 字符串NSString 的一些常用方法
    iOS 一些常见问题
    iOS 数据库sqlite完整增删改查操作
    iOS pch文件的创建
    iOS 通过网络请求获取图片的下载歌曲
  • 原文地址:https://www.cnblogs.com/lingqingyu/p/12606409.html
Copyright © 2011-2022 走看看