算法
文章平均质量分 60
leejore11
这个作者很懒,什么都没留下…
展开
-
遍历网格
1,11,22,1 2,23,13,3从(1,1)到达(3,3),下面为解决方法,使用了递归的方法,也可以使用栈的方法。类似,只不过需要掌握好进出栈就可以了。#include #include using namespace std;const int rowCount=3;//行数和列数const int colomCount=1;int stepCount=-1;//路径数目原创 2015-06-19 18:22:16 · 2084 阅读 · 0 评论 -
全排列实现
实现任意数组的全排列,可重复。#include #include using namespace std;int numArray[4]={1,1,0,1}; void permutation(int *nums,int start,int end){ if (start==end) { /* code */ for (int i = 0; i < 4; ++i原创 2015-06-19 22:54:12 · 245 阅读 · 0 评论 -
插入排序
使用for循环,写的#include using namespace std;const int arrayNum=10;int myNums[arrayNum]={3,24,4,1,4,5,667,3,3,9};void insertSort(int *nums){for (int i = 1; i < arrayNum; ++i){ int tempNum=nums[i]原创 2015-06-20 23:32:49 · 310 阅读 · 0 评论 -
分治法进行排序
#include #include using namespace std; std::vector v1;std::vector v2;int numArray[5]={8,21,66,158,15};void merge(int * num,int begin,int mid,int end){// 对两个分治的数组进行何合并 int temp1=begin;原创 2015-06-22 22:04:13 · 320 阅读 · 0 评论 -
求1-n中数字出现的次数
求1~n 中数字出现的次数,如1-852 中1出现的次数,符合条件的有,1,,1,1,12,13,14,。。。。。。参考《编程之美》,略有修改,扩展到可以求任意数字出现的次数,也可以求出现0的次数。直接上代码:#include using namespace std; const int needCountNum=9;int countNum1(int num){ int原创 2015-06-22 19:15:13 · 498 阅读 · 0 评论 -
求最大子数组
求一组数列的最大字数组,并求出位置,遍历一遍即可。#include #include #include using namespace std;const int numCount=20;int numArray[numCount]={11,3,-3,2,45,-6,5,-75,75,-1,-21,-77,-8,-2,-72,-14345,-3245,-55,-28,1111原创 2015-06-30 17:49:47 · 372 阅读 · 0 评论