【408数据结构与算法】 您所在的位置:网站首页 快速排序法第一趟划分 【408数据结构与算法】

【408数据结构与算法】

#【408数据结构与算法】| 来源: 网络整理| 查看: 265

【408数据结构与算法】—快速排序(十九) 一、🤣快速排序的基本思想 任取一个元素(如:第一个)为中心所有比它小的元素一律前放,比它大的元素一律后放,形成左右两个子表对各子表重新选择中心元素并依此规则调整直到每个子表的元素只剩一个 二、😛快速排序演示

基本思想:通过一趟排序,将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录进行排序,以达到整个序列有序。

具体实现:选定一个中间数作为参考,所有元素与之比较,小的调到其左边,大的调到其右边

(枢轴)中间数:可以是第一个数,最后一个数、最中间一个数、任选一个数等 在这里插入图片描述

快速排序的特点

每一趟的子表的形成是采用从两头向中间交替式逼近法

在这里插入图片描述

快排算法

在这里插入图片描述 在这里插入图片描述

C语言实现快排

快排是在每轮挑选一个基准元素,并让其比他大的元素移动到数列一边,比他小的元素移动到数列的另一边,从而把数列拆解成两个部分,即分治思想。然后运用递归。 代码演示

#include void quickSort(int array[], int left, int right); int main(void) { int i; int array[] = { 5,4,3,2,1,10,9,8,7,6 }; //待排序数组 int len = sizeof(array) / sizeof(int); //数组的长度 quickSort(array, 0, len - 1); //排序 for (i = 0; i //始终保持i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有