![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础算法
比尔吉伯特
还是个大学生正在学习算法,希望能在以后的比赛中能拿到金奖。
展开
-
快速排序
#include using namespace std; int Div(int a[], int left, int right) { int base = a[left]; while(left < right) { while(left base) { right--; }原创 2017-10-27 18:09:41 · 113 阅读 · 0 评论 -
简单的选择排序
简单的选择排序 就是每次内层循环找出数组里最小或最大的数,将它的下表保存起来; 然后与当前的数进行交换、 代码如下:#include using namespace std; void Selectsort(int a[], int n) { for(int i = 0; i < n; i++) { int k = i; for(int原创 2017-10-27 18:20:37 · 124 阅读 · 0 评论 -
递归打印螺旋数字
例如: 1 2 3 8 9 4 7 6 5 #include #include using namespace std; void print(int **a, int x, int y, int num, int n) { if(n <= 0) { return; } if(n == 1) {原创 2017-10-27 21:01:23 · 217 阅读 · 0 评论 -
高精度计算2 + 22 + 222 + 2222...(做法1)
如标题所示,正常我们的LONGLONG是有上限的,这就涉及到了我们需要用到大数据,具体怎么实现,我用数组进行模拟,每个数组存6位数字,从高位存到低位。算法如下 #include using namespace std; int main() { long long a[100]; long long sum[156]; /*for(int i = 0;原创 2017-11-02 13:33:38 · 1319 阅读 · 0 评论 -
高精度计算2 + 22 + 222 + 2222...(做法2)
这个想法是每一个数字与每一位数字(可以理解成我只算个位数字,然后通过进位D来改变比他优先级别高的数字),把高精度算法的 % 1000000 简化成 %10 看起来就很简单吧 是不是~ 具体代码如下: #include using namespace std; int add(int a[], int sum[]) { int d = 0; int i; for(原创 2017-11-02 13:44:29 · 1760 阅读 · 0 评论