排序算法简介及其C实现2013-05-24排序算法(Sorting Algorithm)是计算机算法的一个组成部分。排序算法是将一个序列按照大小顺序重新排列。排序是古老但依然富有挑战的问题。Donald Knuth的经典之作《计算机程序设计艺术》(The Art of Computer Programming)的第三卷就专门用于讨论排序和查找。从无序到有序,从统计物理的角度看,就是减小了系统的熵值,增加了系统的有序度。有序这一特征是关于系统的非常有用的先验知识。因此,排序算法可以作为其他快速算法的基础,比如二分法就是基于有序序列的查找算法。直到今天,排序算法依然是计算机科学积极探索的一个方向。我在这里列出一些最常见的排序方法,并使用C语言实

现。序列表示为一个数组a,数组有n个元素。a[i]为数组中的一个元素,i为元素在数组中的位置(下标)。根据C的规定,数组下标从0开始。假设数组从左向右排列,下标为0的元素位于数组的最左边。序列将最终排列成从小到大的顺序。下面函数中的参数ac是数组中元素的数目,也就是n。(C语言的数组名都转成指针,传递给函数,所以需要传递数组中元素的数目ac给函数,详细见"Expert C Programming: Deep C Secrets"一书)起始数列 (unsorted)有序数列 (sorted)下面的链接中,有相关算法的动画图例,强烈推荐同时阅读。http://www.sorting-algorithms.com/