快速排序是对冒泡排序的一种改进,是分治算法思想的重要体现

快速排序是对冒泡排序的一种改进,是分治算法思想的重要体现

计算机领域,快速排序有很大的意义,诸如阿里巴巴百度腾讯这样的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);

}

}

}

快速排序是对冒泡排序的一种改进,是分治算法思想的重要体现

不论你是学习javac语言phpweb等,冒泡排序选择排序、还是快速排序你都应该掌握,不仅是学习编程中,还是谷歌这样的大公司,都会对这样的基本知识就行考试,因为这是基础,之后小编还会总结其他的排序方式,如果你喜欢可以关注趣IT科技

相关推荐