当前位置: 首页 > news >正文

如何提高网站的知名度合作seo公司

如何提高网站的知名度,合作seo公司,口碑营销的概念,建设部网人事考试网站快速排序是一种高效的排序算法,由C. A. R. Hoare在1960年提出,基本思想是分治法(Divide and Conquer)策略,通过递归将一个大问题分解为若干个较小的子问题,然后合并这些子问题的解来解决原始问题 快速排序…

快速排序是一种高效的排序算法,由C. A. R. Hoare在1960年提出,基本思想是分治法(Divide and Conquer)策略,通过递归将一个大问题分解为若干个较小的子问题,然后合并这些子问题的解来解决原始问题

快速排序的基本步骤如下

(1) 选择基准元素(Pivot): 从数组中选择一个元素作为基准元素(pivot)

通常有三种选择方法:

1. 选择第一个元素作为基准

2. 选择最后一个元素作为基准

3.选择中间位置的元素作为基准

(2)分区(Partitioning)操作: 重新排列数组,所有比基准元素小的元素摆放在基准前面,所有比基准元素大的元素摆在基准的后面,这个分区操作后,基准元素处于数组的中间位置

分区操作: 使用两个指针(通常称为i和j),从数组的两端开始,向中间移动, 当i指针找到比基准大的元素,j指针找到比基准小的元素时,交换这两个元素, 重复上述过程,直到两个指针相遇

#include <iostream>
using namespace std;
void Quicksort(int array[], int L, int R)
{
    if (L >= R) // 如果左边索引 L 大于等于右边索引 R,则说明子数组的大小为 1 或更小,不需要进一步排序。此时,函数直接返回,结束当前递归
        return;
    int left = L, right = R;
    int pivot = array[left];
    while (left < right)
    {
        while (left < right && array[right] >= pivot)
        {
            right--;
        }
        if (left < right)
        {
            array[left] = array[right];
            left++;
        }
        while (left < right && array[left] <= pivot)
        {
            left++;
        }
        if (left < right)
        {
            array[right] = array[left];
            right--;
        }
    }
    array[left] = pivot;
    Quicksort(array, L, left - 1);
    Quicksort(array, left + 1, R);
}

int main()
{
    int array[] = {6, 4, 8, 2, 1, 0};
    int n = sizeof(array) / sizeof(array[0]);  
    cout << "Original array: ";
    for (int i = 0; i < n; i++)  
        cout << array[i] << " ";
    cout << endl;
    Quicksort(array, 0, n - 1);  
    cout << "Sorted array:   ";
    for (int i = 0; i < n; i++)  
        cout << array[i] << " ";
    cout << endl;
    return 0;
}

参数说明:

array[]:待排序的整数数组

L:当前子数组的左边界索引 

R:当前子数组的右边界索引

函数逻辑:

递归终止条件:如果 L >= R,说明子数组的大小为 1 或更小,不需要排序,直接返回

初始化:将 left 和 right 分别初始化为 L 和 R,选择 array[left] 作为基准元素 pivot

分区操作:

从右向左扫描,找到第一个小于 pivot 的元素,将其放到 left 位置,并将 left 指针右移一位

从左向右扫描,找到第一个大于 pivot 的元素,将其放到 right 位置,并将 right 指针左移一位

重复上述两个步骤,直到 left 和 right 指针相遇

放置基准元素:将基准元素 pivot 放到 left 位置

递归排序:分别对基准元素左边和右边的子数组进行递归排序

http://www.zhongyajixie.com/news/24845.html

相关文章:

  • 厦门网站建设_整合营销的最高阶段是
  • 招聘网站怎么做介绍近期出现的病毒叫什么
  • 咸阳做网站公司深圳seo论坛
  • 关于我们网站设计佛山百度推广电话
  • 网站建设价格gxjzdrj互联网营销怎么赚钱
  • 域名与网站区别搜索引擎网站推广如何优化
  • 苹果电脑如何做网站百姓网推广怎么收费标准
  • 企业网站建设遵循的原则最新新闻热点事件2024
  • 自己做视频网站广告seo是什么意思
  • 怎样在政府采购网站做备案网络建站优化科技
  • 谁可以做网站2021谷歌搜索入口
  • 南京做征信服务的公司网站抖音seo排名
  • 做网站需要学习哪些电商seo优化是什么
  • 外贸购物网站开发网络营销成功的案例
  • 一个动态网站多少钱互联网公司网站模板
  • 广告优化师工资一般多少长沙有实力的关键词优化价格
  • 五百丁简历模板官方网站关键词搜索排名公司
  • 微网站建设渠道江门关键词优化公司
  • 佛山外贸网站建设价位推广计划怎么做推广是什么
  • 曹县有没有做网站最新新闻热点事件
  • 重庆做学校网站公司百度实时热搜榜
  • 美食烹饪网站策划书网店培训骗局
  • 赤峰建设银行网站谷歌浏览器app下载
  • 中国专门做统计网站怎么推广软件
  • 手机网站有什么不同电子商务网站建设教程
  • 网站收录量下降百度基木鱼建站
  • 杭州模板网站建设系统网站如何宣传推广
  • 哪几个网站做acm题目微信推广多少钱一次
  • 新洲区城乡建设局网站新手学seo
  • 政府网站建设情况调查百度广告代理商