快速排序是对冒泡排序的一种改进,是分治算法思想的重要体现
在计算机领域,快速排序有很大的意义,诸如阿里巴巴,百度,腾讯这样的IT巨头都会在面试的时候必考,快速排序使用分治的思想,通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字均比另一部分记录的关键字小。之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的,学会快速排序是基本的。
小编上一篇文章已经介绍了原理,下面通过java的方式给出代码实现,原理差不多,掌握一门语言,其他的方式实现也就一样了。下面给出代码的图片形式和文本形式。
void quick_sort(int s[], int l, int r)
{
if (l < r)
{
int i = l, j = r, x = s[l];
while (i < j)
{
while(i < j && s[j] >= x)
j--;
if(i < j)
s[i++] = s[j];
while(i < j && s[i] < x)
i++;
if(i < j)
s[j--] = s[i];
}
s[i] = x;
quick_sort(s, l, i - 1); //运用 递归再次调用
quick_sort(s, i + 1, r);
}
}
}
不论你是学习java,c语言,php,web等,冒泡排序、选择排序、还是快速排序你都应该掌握,不仅是学习编程中,还是谷歌这样的大公司,都会对这样的基本知识就行考试,因为这是基础,之后小编还会总结其他的排序方式,如果你喜欢可以关注趣IT科技。
相关推荐
清溪算法君老号 2020-06-01
yuanran0 2019-12-14
YUAN 2019-11-19
blackeagleoht 2019-05-04
Masimaro 2020-06-21
Joymine 2020-06-06
GhostLWB 2020-04-20
田有朋 2020-04-19
sunjunior 2020-04-10
cmsmdn 2020-03-03
shenwenjie 2020-02-26
sunjunior 2020-02-15
hanyujianke 2020-01-13
路漫 2020-01-12
sunnyJam 2019-12-31
KilluaZoldyck 2019-12-15
Happyunlimited 2019-12-10
baike 2019-12-09