排序
唯(~平安
博客小萌新,请多指教
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第九章:排序算法:希尔排序&&基数排序
一:希尔排序1.介绍.希尔排序是插入排序的改进版,主要是为了解决当较小的数据出现在待排数组后一个一个向前插入这样比较多的循环次数。这个排序引入的步长的概念(step),用不断缩小step将数组分组,每次缩小为原来的一半,直到最后一次步长为一时,整个数组做了插入排序。2.图片流程如下:3.步骤3.1.初始化步长为元素个数的一半3.2.开始循环,循环至步长为03.3开始做插入排序,具体在代码中详解4.代码区//希尔排序void shellSort(int *a, int len){原创 2021-03-03 20:53:08 · 472 阅读 · 1 评论 -
第八章:排序算法:选择排序&&插入排序
一.选择排序1.介绍选择排序是一个经典直观的算法,它是从待排序列中挑选最小的元素插入到已序数组的最后。2.图片3.方法&&步骤3.1定义一个最小数据下标3.2循环嵌套,起点下标作为已序数组的最后一个加一,(待排数组的开头)3.3数据交换4.代码//打印函数void print(int *a, int len){ for (int i = 0; i < len; i++) { printf("%d ", a[i]); }}//选择排序void原创 2021-03-02 21:44:42 · 258 阅读 · 0 评论 -
新手上路,一起学算法。第二:归并排序
今天来和大家一起学习归并排序啦~废话不多说直接开搞!1.归并排序介绍归并排序也是属于经典算法之一,它采用的是分治思想(分治思想:将大的问题,转换成简单的,小的问题来解决)。2.方法它与合并算法不同的是,它是一个杂乱无章的数组。我们可以采用递归的思想将这个数组每次按两次分,直到每个子序列只有一个元素为止,因为在这里只有一个元素的序列可以必定是一个有序数组。最后在采用合并排序依次合并为有序数组。3.图片区分析图如下:具体流程图如下:4.具体代码如下#include<stdio.h&原创 2021-02-20 21:40:44 · 246 阅读 · 0 评论
分享