排序
青青的月
这个作者很懒,什么都没留下…
展开
-
代码实现 快速排序 数据结构 算法 头歌
快速排序快速排序是建立在冒泡排序基础上的一种排序方法基本思想 :通过一趟排序将要排序的数据分割成独立的两部分其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。实现方法:1.选择一个基准元素,通常选择第一个元素或者最后一个元素。2.比较排序,将小于基准元素的数据移到左边,大于基准元素的数据移到右边。3.再次对左右两边的数据进行排序。4.重复步骤2和3,直到整个数据变成有序序列。通关代码完整代码...原创 2022-06-16 17:01:50 · 4891 阅读 · 1 评论 -
C语言 实现 归并排序 算法 头歌 数据结构
归并排序将数组arr分成两个子数组,然后对两个子数组进行归并排序,最后将两个子数组归并成一个有序数组函数参数:整数数组arr 数组长度要求输出:调用print_array(int *arr, int n)输出前三次选择操作后的序列,以及最终的升序序列函数实现:1. 分组:将数组分成两个子数组,分别为arr[0..n/2]和arr[n/2+1..n]2. 归并:将两个子数组进行归并排序,最后将两个子数组归并成一个有序数组3. 循环直到数组长度为1,即完成排序4.返回...原创 2022-06-15 22:14:15 · 2744 阅读 · 0 评论 -
C语言 代码实现 希尔排序 头歌 数据结构 算法
希尔排序实现 希尔排序算法:将乱序序列arr转化为升序序列函数参数:乱序整数数组arr 数组长度要求输出:调用print_array(int *arr, int n)输出前三次选择操作后的序列,以及最终的升序序列函数实现:1. 初始化:i为待排序数组的起始下标,j为待排序数组的结束下标2. 循环: a. i从0到n-1,j从i+1到n,找出最小的数,将其和i位置的数交换 b. i++,j--3. 结束: a. 输出前三次操作后的序列,以及最终的升序序列下面是我写的原始代码,但不能通关,是设原创 2022-06-14 22:26:42 · 1154 阅读 · 0 评论 -
C语言 代码实现 插入排序 算法
头歌 插入排序 作业实现《选择排序算法》:将乱序序列arr转化为升序序列函数参数:乱序整数数组arr 数组长度要求输出:调用print_array(int *arr, int n)输出前三次选择操作后的序列,以及最终的升序序列函数实现:1. 初始化:i为待排序数组的起始下标,j为待排序数组的结束下标2. 循环: a. i从0到n-1,j从i+1到n,找出最小的数,将其和i位置的数交换 b. i++,j--3. 结束: a. 输出前三次操作后的序列,以及最终的升序序列 测试:输入:8原创 2022-06-14 21:40:16 · 857 阅读 · 0 评论 -
C语言 实现《选择排序算法》 头歌
//选择排序// 实现《选择排序算法》:将乱序序列arr转化为升序序列// 函数参数:乱序整数数组(无重复元素) 数组长度// 要求输出:调用print_array(int *arr, int n)输出前三次选择操作后的序列,以及最终的升序序列// 函数定义:void sort_array(int *arr, int n)// 函数实现:// 1. 初始化:// 将arr[0]设为最小值,arr[n-1]设为最大值// 2. 遍历:// 对arr[i],从i+1开始,到n-1结原创 2022-06-12 11:35:20 · 954 阅读 · 0 评论 -
C语言 代码实现 冒泡排序 算法 头歌
// 编程实现《冒泡排序算法》:将乱序序列arr转化为升序序列// 函数参数:乱序整数数组arr 数组长度// 要求输出:调用print_array(int *arr, int n)输出前三次冒泡操作后的序列,以及最终的升序序列测试:输入5 75 4 3 8 1输出:1 75 4 8 31 3 75 8 41 3 4 75 81 3 4 8 75...原创 2022-06-12 10:47:41 · 1551 阅读 · 1 评论