
经典排序算法
秋名山的放牛娃
java小白
展开
-
插入排序
今天学习了插入排序,借此机会写下自己的心得。 插入排序就是将一个待排序的序列插入到一个已经排序的有序序列中去。 更加专业性的描述大家可以自己搜索。 下面是我找的图方便大家理解插入排序。 话不多说,奉上代码,如有错误请多指教! #include #define P 10 void insertsort(int a[],int length); int main() { in原创 2017-06-06 17:30:20 · 215 阅读 · 0 评论 -
冒泡排序
冒泡排序,是碰到的基础的一种排序方法,理论的讲解我就不叙述了,网上有很多可以自行查找。 就我个人理解就是两两依次比较大小排序。 找了个图大家可以看图理解。 话不多说,奉上代码。如有错误,请多指教! #include #define P 10 void bubblesort(int p[],int length); int main() { int a[P] = {1,23,原创 2017-06-05 15:14:40 · 249 阅读 · 0 评论 -
选择排序
惯例,给大家介绍选择排序(以从小到大的位置为例说明)。 基本思想是,首先选出最小的数,放在第一个位置;然后选出第二小的数,放在第二个位置,......以此类推,进行排序。 还是以图来说明,更为专业的描述请大家自行搜索。 话不多说,奉上代码,如有错误请多指教! #include #define P 10 void selectsort(int p[],int len原创 2017-06-07 17:00:23 · 300 阅读 · 0 评论 -
快速排序
今天学习了快速排序分享自己的心得。 快排就我个人理解就是递归+分治的原则。 1.找一个基准值,通常以第一个数值为基准值; 2.左右两端设置哨兵left,right,用于与基准值比较 3.递归上述的方法 总的来说快速排序简单的说就是选择一个基准,将比基准值大的数放在一边,小的数放到另一边。对这个数的两边再递归上述方法。 找了个图,方便理解: 时间复杂度分析: 快速原创 2017-06-28 23:32:58 · 241 阅读 · 0 评论