
排序
如果我来了6
这个作者很懒,什么都没留下…
展开
-
插入排序 C++
将数组中的数据分为两个区间,已排序区间和未排序区间。初始已排序区间只有一个元素,就是数组的第一个元素。插入算法的核心思想是取未排序区间中的元素,在已排序区间中找到合适的插入位置将其插入,并保证已排序区间数据一直有序。重复这个过程,直到未排序区间中元素为空,算法结束。插入排序也包含两种操作,一种是元素的比较,一种是元素的移动。当我们需要将一个数据 a 插入到已排序区间时,需要拿 a 与已排序区间的元素依次比较大小,找到合适的插入位置。找到插入点之后,我们还需要将插入点之后的元素顺序往后移动一位,这样才能腾出原创 2021-12-17 14:44:12 · 358 阅读 · 0 评论 -
选择排序 C++
选择排序每次会从未排序区间中找到最小的元素,将其放到已排序区间的末尾。#include <vector>#include <stdlib.h>using namespace std;class Solution {public: vector<int> sortArray(vector<int>& nums) { // 执行选择排序操作 selectSort(nums); r原创 2021-12-17 14:21:22 · 586 阅读 · 0 评论 -
冒泡排序 C++
冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。#include <vector>#include <stdlib.h>using namespace std;class Solution {public: vector<int> sortArray(vector<int&原创 2021-12-17 14:08:20 · 534 阅读 · 0 评论 -
归并排序 C++
快速排序为先分隔在左右排序,归并排序为先左右排序再合并#include <vector>#include <stdlib.h>using namespace std;class Solution {public: //临时数组 vector<int> tempArr; vector<int> sortArray(vector<int>& nums) { //设置临时数组大小原创 2021-12-17 12:49:52 · 429 阅读 · 0 评论 -
快速排序 C++
快速排序实现的难点,就是如何将数组切分为左右两部分,可以用快慢指针和对撞指针实现。快慢指针#include <vector>#include <stdlib.h>using namespace std;class Solution {public: vector<int> sortArray(vector<int>& nums) { // 执行快速排序操作 quickSort(nums,0,nums原创 2021-12-17 11:00:04 · 579 阅读 · 0 评论