c 算法代码
半梦半醒间幸运_
这个作者很懒,什么都没留下…
展开
-
C++排序算法之插入排序
原理:前部分有序,后部分无序,每次将无须部分的第一个数字插入到有序部分的合适位置,有序部分长度加1,无序部分长度减1。 时间复杂度O(n^2),空间复杂度O(1),稳定排序。 #include<iostream> #include<vector> #include<algorithm> using namespace std; void insert_sort(vector<int>& nums) { int len=nums.size();原创 2020-07-20 10:03:09 · 151 阅读 · 0 评论 -
冒泡排序
冒泡排序:两层for循环,有两种写法,可以从小到大排序(正序),也可从大到小排序(逆序)。 核心思想:每一轮,从待排序数组头部开始,每两个元素比较大小并进行交换,直到一轮完成,将找出的最大或最小元素放置在数组尾部,然后,不断重复上述过程,直到所有元素都排好位置。 代码如下: 算法空间复杂度0(1),时间复杂度0(n^2) #include "pch.h" #include <ios...原创 2019-10-22 21:15:07 · 103 阅读 · 0 评论 -
插入排序
插入排序算法基本思想:将数组分为两部分,前一部分为已经排好顺序的部分,后一部分为数组无序部分,依次将无序部分的元素插入有序部分的合适位置,直至无序部分为空,排序完成。 与冒泡排序相对比: 1.在冒泡排序中,经过每一轮的排序处理后,数组的后一部分是有序的,前一部分是无序的; 2.在插入排序中,经过每一轮的排序处理后,数组的前一部分是有序的,后一部分是无序的; C++实现代码如下:...原创 2019-10-23 10:06:39 · 97 阅读 · 0 评论