![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
字正腔圆
你永远不知道你努力了之后,会是怎样...
展开
-
非稳定排序之快排的实现及自测【思维模型很重要】
算法,感觉思维模型比较重要 对比std::sort。。。的比较输出, 发现std::sort 底层并不是或不完全是快排实现 #include <stdio.h> #include <algorithm> //前闭,后开 void quicksort(int start, int end, int* a){ if (start+1 >= end) { //只有一个数据或数据单方向偏 return; } //printf("start:%...原创 2020-10-09 15:51:51 · 76 阅读 · 0 评论 -
Insert Sort 插入排序
/* * 插入排序,从小到大 * 假定第一个是最小的,后面的值依次与前面的值从右往左比较,如果后面的小就把前面的值填到自己的位置 * 并重复继续往左比较(否则不动,继续下一个值判断),直到找到比自己小的值,把自己的值填到其后面 * *时间复杂度 最好O(n) 最坏O(n^2) 平均还是O(n^2) *稳定性:稳定 *原地排序:是 *排序 n-1趟 */ void insertSort(int src[], int len){ //4, 6, 6, 1, 3 -> //1 ...原创 2020-05-10 18:25:43 · 205 阅读 · 0 评论 -
Select Sort 选择排序
/* *时间复杂度O(n2) *稳定性:非稳定排序算法 *排序 n-1趟 */ void selectSort(int src[], int len){ register int i; register int j, minIdx, temp; ////假定第i个是最小数的下标,对比后面的数据,如果有更小的更新minIdx下标,最后切换minIdx和i下标的值 for(i=0; i<len-1; i++){ minIdx = i; f...原创 2020-05-10 16:52:04 · 186 阅读 · 0 评论 -
Bubble Sort (冒泡排序)
/* * 时间复杂度O(n2) * 稳定性:稳定排序算法 * 排序 n-1趟 */ void bubbleSort(int src[], int len){ //3 2 1 -> n-1趟 //----- //1 3 2 //1 2 3 int i = 0; for(; i<len-1; i++){//n-1趟 //for(int i=0; i<len-1; i++){//n-1趟 bool end = true; ...原创 2020-05-10 15:33:11 · 154 阅读 · 0 评论