go实现常见的8种排序算法

1.冒泡排序

思路:数据两两比较,第一次将最大的放到最右边,第二遍将第二大的放在倒数第二的位置,以此类推,或者也可以将最小的放在最左边,两种比较方法

冒泡排序,时间复杂度O(n^2)

2.快排:

思路:找到一个基准值,进行两部分排序,小放左,打放右,在对左边和右边分别进行递归,直到再分不出左子序列和右子序列

快排

3.选择排序

思路:通过n-i+1(i=1,2…n-1)个记录中选择关键字最小的作为有序序列的第i个记录,其实就是对给定的数组进行多次遍历,每次均找出最大的一个值的索引,将索引对应的与右边的数进行交换

4.插入排序

思路:从第二个开始向右遍历,放到该放的位置(比左侧的数大,比右侧的数小)

......待续更新(希尔排序/堆排序/归并排序/基数排序)


我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2gwo5cavlzsw8

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容