![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Algorithm
路遥车慢
这个作者很懒,什么都没留下…
展开
-
冒泡排序
#include /* * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 * 针对所有的元素重复以上的步骤,除了最后一个。 * 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 */void swap(int &a,int &原创 2016-12-04 01:03:38 · 247 阅读 · 0 评论 -
选择排序
#include /* * 选择排序 * 它的工作原理是每一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 */void SelectSort(int *a,const int n){ for(int i =0;i<n;i++) { int temp = i;//数组里最小那个数的下标 fo原创 2016-12-04 16:46:01 · 241 阅读 · 0 评论 -
递归阶乘
#include /* 5! = 5x4*3*2*1 4! = 4x3x2x1 3! = 3*2*1 2! = 3*2*1 1! = 1*1 0! = 1 n! = n x (n-1)! */long factorial(int n){ if(n==0)原创 2016-12-04 16:58:51 · 291 阅读 · 0 评论 -
用递归实现排列组合
#include /* *用递归实现排列组合 */void Permutation(char *p,const int k,const int m){ if(k==m) //递归终止条件 { printf("%s\n",p); } for(int i=k;i<=m;i++) { std::swap(p[k],p[原创 2016-12-04 17:22:50 · 464 阅读 · 0 评论 -
插入排序
插入排序有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序 插入排序的基本思想是:每步将一个待排序的纪录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。 #incluee <iostream> void InsertSort(int *a,int n) { int in; //已经排好原创 2016-12-04 18:00:21 · 272 阅读 · 0 评论 -
快速排序
快速排序 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,原创 2016-12-04 18:17:05 · 243 阅读 · 0 评论