![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
一个达布刘(o゚v゚)ノ
你终于看到我啦,就是你,将有好事发生!
展开
-
堆排序的实现
堆排序的实现原创 2023-04-02 15:00:43 · 85 阅读 · 4 评论 -
快速排序
快速排序4种实现原创 2022-04-21 21:11:59 · 1079 阅读 · 1 评论 -
归并排序(C语言完整代码)
归并排序是建立在归并操作上的一种有效的算法,该算法是采用分治法的一个非常典型的应用,是一种稳定的排序算法。将已有的子序列合并,得到完全有序的的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,成为二路归并。代码实现如下:#include "stdio.h"#include "malloc.h"#include "string.h"void PrintfArray(int* ar, int left,int right){ for (int i.原创 2022-04-19 21:57:07 · 3149 阅读 · 0 评论 -
简单选择排序
简单选择排序实现原创 2022-04-17 21:41:50 · 1202 阅读 · 0 评论 -
测试不同排序方法的效率
三种直接插入排序方法见博客直接插入排序(3种方法)下列代码是测试这三种排序方法的效率#include "stdio.h"#include "time.h"void TestSortEffiency(){ int n = 10000; int *a = (int *)malloc(sizeof(int) * n); int* a1 = (int*)malloc(sizeof(int) * n); int* a2 = (int*)malloc(sizeof(int) * n); sr原创 2022-04-09 12:00:00 · 241 阅读 · 0 评论 -
直接插入排序(3种方法)
直接插入排序是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。直接插入排序是一种稳定的排序方法。//直接插入排序void InsertSort(int* ar, int left, int right){ for (int i = left + 1; i < right; i++) { ar[0] = ar[i]; //设置哨兵位 int j = i; while (ar[j] < a原创 2022-04-08 17:36:47 · 2392 阅读 · 0 评论 -
希尔排序(完整代码)
希尔排序代码全部实现原创 2022-04-04 12:00:00 · 685 阅读 · 0 评论 -
折半插入排序(完整代码)
基本思想为:先出元素的待插入位置,然后再同意地移动待插入位置之后的所有元素#include "stdio.h"void PrintfArray(int* ar, int left,int right){ for (int i = left; i < right; i++) printf("%d ", ar[i]);}void BinarySort(int* ar, int left, int right){ for (int i = left + 1; i < right原创 2022-04-03 16:25:10 · 1371 阅读 · 0 评论