From 92423fd3d063017c0cc55e0100e8ea571e810346 Mon Sep 17 00:00:00 2001 From: pn43tqvrm <2516333959@qq.com> Date: Sat, 19 Feb 2022 16:09:54 +0800 Subject: [PATCH] =?UTF-8?q?Add=20=E6=8F=92=E5=85=A5=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 插入排序 | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 插入排序 diff --git a/插入排序 b/插入排序 new file mode 100644 index 0000000..ff74224 --- /dev/null +++ b/插入排序 @@ -0,0 +1,12 @@ +//插入排序 +void insert_sort(int a[] , int l , int r ){ + for (int i = l + 1 ; i <= r ; i ++){ + //找到合适的位置 + int j , t = a[i]; + for (j = i ; j && a[j - 1] > t ; j --) a[j] = a[j - 1]; + //插入到合适的位置 + a[j] = t; + } + +} +//复杂度说明:当最好情况,需要进行n-1次比较,且每次都是a[i]>a[i+1],每一栋记录,时间复杂度为O(n).最坏情况下,需要比较(n+2)(n-1)/ 2 次。移动(n+4)(n-1)/2次。如果排序记录是随机的,根据概率相同的的原则,平均比较移动次数为n^2/4, 故直接插入排序算法时间复杂度为O(n^2)