Algorithem_Sort
Given an integer array nums sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order.
QuickSort
实现逻辑:
取指定位置的 index 的值key,比较index和 index之前的数字,如果前面的数字大于后面的数字,则交换位置;
比如:
1 |
|
代码如下:
1 |
|
Selection Sort
实现逻辑:
遍历数组找到最小的值,放到结果数组index 为0的位置;
遍历数组找到第二小的值,放到结果数组 index 为1的位置;
…
代码如下:
1 |
|
Bubble Sort
逻辑如下:
依次遍历相邻两个元素,如果前面元素大,则交互位置;然后继续向后比较;
重复上面步骤
再重复上面步骤
…
直到没有可交换位置的元素为止
举例如下:
1 |
|
代码如下:
1 |
|
merge sort
实现逻辑:
把数组拆分为两半,然后对两半的数组继续拆分,直到数组元素个数为1,然后比较最后拆分的最小数组,排序后返回,再排序拼接拼接拼接。
示意图如下:
代码如下:
1 |
|