C++
文章平均质量分 67
骑着蚂蚁闯世界
这个作者很懒,什么都没留下…
展开
-
快速排序(基准改进)
快速排序采用“分而治之、各个击破”的观念。快速排序是二叉查找树(二叉搜索树)的一个空间最优化版本。不是循序地把数据项插入到一个明确的树中,而是由快速排序组织这些数据项到一个由递归调用所隐含的树中。这两个算法完全地产生相同的比较次数,但是顺序不同。对于排序算法的稳定性指标,原地分区版本的快速排序算法是不稳定的。其他变种是可以通过牺牲性能和空间来维护稳定性的。快速排序的最直接竞争者是堆排序(Heapsort)。堆排序通常比快速排序稍微慢,但是最坏情况的运行时间总是。快速排序是经常比较快,除了introsor原创 2020-12-03 20:24:07 · 533 阅读 · 0 评论 -
二进制数据与(&)和右移(>>)运算符的妙用
求 int型数据补码中1的个数//int数据补码中1的个数 #include<stdio.h>#include<math.h>int main() { long long int n; int x; while(scanf("%d",&x)!=EOF) { int count=0; if(x==0) continue; else if(x<0) { n=x+pow(2,32); } for(int i=0;i&原创 2020-11-26 18:04:41 · 285 阅读 · 0 评论 -
超大数阶乘
大数 阶乘:有很多数学的方法可以计算出来。而对于计算机来说,最简单的自然是按部就班的从1乘到n。但是,在C语言里,本来挺简单的程序却被一个东西给限制住了——数据类型。C语言里没有长度很大的数据类型,如果只是计算10!还好,但是如果要计算1000!,C语言的数据类型就吃不消了。但是,通过一些算法的设计,我们可以让C语言进行这样大数据的处理。我们可以使用数组来进行处理,定义一个足够多位的数组,每一个数组元素存放数据的一位。这样,就可以计算巨大的数据类型了。#include<stdio.h>in原创 2020-11-20 15:24:24 · 456 阅读 · 0 评论 -
a-z共26种球带权值,选球问题
标题1208选球问题:现有a-z共26种球,权值从a到z依次为1,2,3…26,现从已有的n个球中选出固定k个从左到右排列,要求右边的球权值至少比左边大2,在给定n和k的情况下,求最小权重和。代码标识很细,不懂得可以仔细阅读下面代码:#include<stdio.h>int main() { int n,k; char b[50]; scanf("%d%d",&n,&k); getchar(); gets(b); int i,j,count=1;//coun记原创 2020-11-18 16:42:35 · 238 阅读 · 0 评论 -
负数在前,正数在后保持数据相对位置不变
标题百度面试题(一):假设一整型数组存在若干正数和负数,现在通过某种算法使得该数组的所有负数在正数的左边,且保证负数和正数间元素相对位置不变。时空复杂度要求分别为:o(n)和o(1)。意思就是,给一个整形数组,如:1, 7, 5, 9, -12, 15,处理后使得负数在前正数在后,且负数相对顺序不变,正数亦然。即最终得到: -12, 1, 7,5, 9, 15思路:开始p1p2均指针指向数组头部,从数组头部开始开始判断,负数只进行p1++操作,一旦发现p1指向数据为正数,temp=*p1,则p2向后移动原创 2020-11-18 16:13:04 · 1354 阅读 · 4 评论 -
一亿以内的素数
一亿以内的素数埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼 所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。思路如下:要得到自然数n以内的全部素数,必须把不大于 的所有素数的倍数剔除,剩下的就是素数。 给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个质数,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一个质数5筛,把5留下,把5的倍数剔除掉;不断重复下原创 2020-11-16 17:38:40 · 850 阅读 · 0 评论 -
二维数组行排序
对二维数组进行由小到大排序输入4*4的矩阵(4*4矩阵只是随手的宏定义需要几行几列的数据可以自行对程序稍加修改),也就是键盘输入16个数给数组a[4][4]赋值,然后对这个数组以每一行为一个单位进行排序,排序规则如下:两单元对应元素位置一一比较,一旦遇到单元元素对应位置前者比后者小则认定前单元比后单元小。列如输入: 1 1 5 31 1 2 31 2 1 12 0 1 5输出: 1 1 2 31 1 5 31 2 1 12 0 1 5#incl原创 2020-10-09 10:21:44 · 3898 阅读 · 0 评论