前面我们提过了 Bubble sort,这次我们要来从题目来看另一种排序的演算法 —— Insertion Sort。
题目
使用下面这个函数将数列由小排到大
void insertionSort (const int sorted[], int sorted[], int len);
输入输出格式
Sol.
首先,先将资料分成已排序、未排序两部分。在未排序的部分中,从第一笔资料开始跟已排序的相互比较,并插到适当的位置。这个情况由於是由小排到大,因此我们会从右至左比较。
[演算法] 插入排序法(Insertion Sort)
Comparison Sort: Insertion Sort(插入排序法)
这两篇文章都有做一个详尽的介绍,第一篇包含计算时间复杂度,有兴趣的人可以参考!
Pseudocode
insertionSort:
int temp = 0;
int j = 0;
// 每一个要处理的值就存为temp,并与已处理的部分做比较
for i in range 0 ~ len
temp = sorted[i];
j = i - 1;
// 判断能否插入数值
while (i 不是第 0 个数 且 temp < sorted[j])
// 向右移
sorted[j + 1] = sorted[j];
j--;
Main function:
cin >> len;
int* sorted = new int[len];
输入 sorted 所需存的资料
以上就是粗略的 insertion sort 啦!
<<: 什麽是架构(What Is Architecture)?
>>: Day 19:有名模组,无限辅助-Vuex Modules、Map Helper
云端串流游戏加速推坑的开始~ (∩^o^)⊃━☆゚.*・。 线上游戏跟云端串流游戏的差异? 线上游戏...
今天来看看 MySQL 该怎麽用 第1部分 - 进到 MySQL 画面 1.先打开 XAMPP 2....
JS30官网 今天来讲解第十六天吧!这天会学到mousemvoe这个事件以及offset的用法 我们...
今天我们就来实作看看 Controller 控制器吧! 这篇可以搭配官方说明文件食用:Part 2...
各位点进来的朋友,你们好阿 小的不才只能做这个系列的文章,但还是分享给点进来的朋友,知道一些程序语言...