2020-01-16

快速排序基本思想:

快速排序法由于他的效率为N*logN,效率较高所以常被采用。它采用的方法为分治法,也很实用。
下面我们就来说说快速排序的基本思想:
1.算法开始先要在序列中选择一个基准点。
2.要实现序列左边的数都比这个基准点小,序列右边都比这个基准点大。
3.递归地对两个序列进行快速排序,直到序列为空或者只有一个元素。

快速排序过程演示:

给定一个数组{19,8,7,23,47,58}进行快速排序。

image.png

此时我们要先选择一个基准点,我们选择序列中第一个数字19作为基准点。
此时,i= 0,j = 5,base = a[i] = 19
从j开始向前找一个小或者等于19的数,j = 2时满足条件。
此时base = a[j]
此时数组变为{7,8,19,23,47,58}
此时左子序列为{7,8}
右子序列为{23,47,58}
分别对左右序列进行上述操作:选择基准点,使得左边的数都比这个基准点小,右边的数都比这个基准点大。递归地对两个序列进行快速排序,直到序列为空或者只有一个元素。
最后得到快速排序的结果为{7,8,19,23,47,58}

快速排序代码实现:

int quick_sort(int a[], int low, int high) {
    if (low<high)
    {
        int i = low, j = high;
        int x = a[low];
        while (i<j)
        {
            while (i<j && a[j] >= x) //当a[j]的值大于基准点时继续向前查找。
                j--;
            if (i<j) 
                a[i++] = a[j];
            while (i<j && a[i] <= x) 
                i++;
            if (i<j) 
                a[j--] = a[i];
            a[i] = x;
                     }
            quick_sort(a, low, i - 1);
            quick_sort(a, i + 1, high);
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,198评论 6 514
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,334评论 3 398
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,643评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,495评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,502评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,156评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,743评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,659评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,200评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,282评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,424评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,107评论 5 349
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,789评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,264评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,390评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,798评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,435评论 2 359

推荐阅读更多精彩内容

  • 冒泡排序: 冒泡排序是常见的排序方法原理:依次比较相邻的两个数,找到最大的排到后面,以此类推,得到排序结果。基本思...
    wangjinming阅读 128评论 0 1
  • 01 . 字母q总是与u在一起,读做/kw/, 此处u不作元音。 02 . 字母c在字母e, y, i前读做/s/...
    花园88阅读 139评论 0 1
  • 竞品调研对于很多产品来说家常便饭,设计、改进一个功能之前常做竞品调研,但做的多,不一定做的对、做的好,一份高效、简...
    糯米小圆子yy阅读 673评论 0 0
  • 从一穷二白到身价4.5亿, 巧用优势,让她进阶成了女王(一) 前几日,有条“J姐和男友分手”的消息一直占据微博热搜...
    悠悠annie阅读 787评论 0 3
  • 注意:如果通过微信打开当前页面,请先点击右上角按钮,在下方弹出的菜单中选择浏览器打开,然后在点击下方按钮进行下载安...
    茶饭不思阅读 9,203评论 0 3