![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
PerryXu_BIT
非主流全栈攻城狮
展开
-
[C/C++] 如何快速得写出快速排序
最近很多同学找实习,面试一个环节是纸上写程序,如快速排序,链表合并等。那如何在短时间内有效写出快排?快排是一种分治法,每次找到基准并划分数组,再依次递归即可。重点在于如何划分,划分的重点在于从两侧的遍历和替换。(这里初始基准取第一个元素)压缩代码后快排程序如下:<pre name="code" class="cpp">#include<iostream>using nam...原创 2015-04-08 13:51:39 · 1017 阅读 · 0 评论 -
[C/C++] 冒泡排序简洁写法
同样是面试常问的题目,虽然简单,能正确简洁写出冒泡的人其实也不多吧#include<iostream>using namespace std;void bSort(int n,int input[]){ for(int i=0;i<n-1;i++){ for(int j=0;j<n-i-1;j++){ if(input[j+1]<input[j]) /...原创 2015-04-08 14:06:15 · 1272 阅读 · 0 评论 -
[C/C++] 如何快速写出2-归并排序
2路归并指的是每次将集合分为2个子集和的归并排序。(此处用2分法)归并排序原理是将现有集合划分为N个子集和,对N个子集和进行排序,再依次合并N个有序的子集和,直到最终合并成完整集合。之前面试遇到一个经典的链表问题是合并两个有序链表,其实和归并中的并很相近。归排和递归的快排写法相近,主要是合并函数merge的编写。写法如下:#include<iostream>using namespa...原创 2015-04-16 18:53:31 · 395 阅读 · 0 评论