【DAY 22】Algorithm - Insertion sort 插入排序法

前面我们提过了 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

大共享时代系列_028_云端串流游戏 ( Cloud Gaming )

云端串流游戏加速推坑的开始~ (∩^o^)⊃━☆゚.*・。 线上游戏跟云端串流游戏的差异? 线上游戏...

第06天 - 一些些的 MySQL(上)

今天来看看 MySQL 该怎麽用 第1部分 - 进到 MySQL 画面 1.先打开 XAMPP 2....

Day28 语法改革!零基础新手也能读懂的JS - JS30-16 Mouse Move Shadow

JS30官网 今天来讲解第十六天吧!这天会学到mousemvoe这个事件以及offset的用法 我们...

【从实作学习ASP.NET Core】Day03 | Controller 控制器

今天我们就来实作看看 Controller 控制器吧! 这篇可以搭配官方说明文件食用:Part 2...

组合语言跟你 SAY HELLO!!

各位点进来的朋友,你们好阿 小的不才只能做这个系列的文章,但还是分享给点进来的朋友,知道一些程序语言...