![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
2018 训练
文章平均质量分 55
sdau20171989
这个作者很懒,什么都没留下…
展开
-
01.29 快速排序
快速排序是冒泡排序的一种改进。1.基本思想是:通过一趟排序将待排记录分成独立的两部分,一部分记录的关键字比另一部分记录的关键字小,然后分别对这两部分记录继续进行排序。2.快排需要选取一个枢轴或支点(通常选中间一个),做一趟快速排序,将元素分成左右两个子序列。对子序列做重复操作直到所有的元素都有序3.图解 4.算法代码:#includeusing namespace s翻译 2018-01-29 18:13:28 · 124 阅读 · 0 评论 -
01.29 排序
1.插入排序#includeusing namespace std;int a[10]={0,9,2,3,4,6,5,7,8,1};int main(){ int temp,l; for(int i=1;i<10;i++) { l=i-1;temp=a[i]; while(l>=0&&a[l]>temp) {原创 2018-01-29 10:52:07 · 140 阅读 · 0 评论 -
01.28
1.计算半数集问题的递归算法int comp(int n){ int ans=1; if (n>1) for(int i=1;i<=n/2;i++) ans+=comp(i); return ans;}2.半数集计算问题 记忆式搜索int a[1001];int comp(int n){ int ans=1; if(a[n]>0)return a[n];原创 2018-01-28 22:19:39 · 97 阅读 · 0 评论 -
01.27
1,int jishu (int sum1,int sum2,int sum3)//首先在这里可以做一个函数,这个函数的作用很简单,就是判断是不是1到9都有了: { int i1,i2,i3,j1,j2,j3,k1,k2,k3; i1=sum1%10;i2=(sum1/10)%10;i3=sum1/100; j1=sum2%10;j2=(sum2/10)%10;j3=su原创 2018-01-28 22:00:00 · 243 阅读 · 0 评论 -
01.25
1.洛谷数组 P1598垂直柱状图题目描述写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过75个字符),然后用柱状图输出每个字符在输入文件中出现的次数。严格地按照输出样例来安排你的输出格式。输入输出格式输入格式:四行字符,由大写字母组成,每行不超过75个字符输出格式:由若干行组成,前几行由空格原创 2018-01-27 11:47:26 · 304 阅读 · 0 评论 -
01.26
1.用冒泡排序对数组元素按由小到大排序(数组作为函数参数)#includeusing namespace std;void bubble(int[],int);int main(){ int array[10]={1,2,3,4,5,6,7,8,9,10}; bubble(array,10); for(int i=0;i<10;i++) cout原创 2018-01-27 13:55:43 · 128 阅读 · 0 评论 -
02.01 洛谷贪心算法例题
1.P1090合并果子题意:在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并原创 2018-02-02 13:19:36 · 1271 阅读 · 0 评论 -
01.31 贪心算法
1,贪心算法,指对问题求解时,不从整体考虑,总做当前看来最好的选择,既局部最优解。(1)基本思路:建立数学模型--->把问题分解成若干个子问题--->对每个子问题求解,得到局部最优解--->将局部最优解合并成原问题的最优解(2)适用前提:原问题具有无后效性,既局部最优解能产生全局最优解(3)流程: //A是问题的输入集合即候选集合Greedy(A){ S={翻译 2018-02-01 16:00:03 · 217 阅读 · 0 评论 -
01.24
1.The input and outout of a string :input: scanf("%s",字符串名称) 不加& 读到空格停止 scanf("%s%s%s",a,b,c) 输入多个字符串 以空格间隔 gets(a) 读到换行符,仅能输入一个字符串output: printf("%s",a) puts(a)printf("%s\n",a) == puts原创 2018-01-24 17:24:26 · 132 阅读 · 0 评论 -
01.23
1.给出有重合的若干区间,求里面元素个数:洛谷,校门外的树:某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数原创 2018-01-24 13:24:26 · 238 阅读 · 0 评论 -
01.30 归并排序
1.归并排序的思想:递归分治(先分解,再合并) 先使每个子序列有序,然后利用第三个数组合并两个有序数列,生成一个新的有序数列。 2.图解:3.实现代码:#includeusing namespace std;void msort(int,int);int a[100],r[110];int main(){ int n; cin>>n; fo翻译 2018-01-31 12:42:30 · 114 阅读 · 0 评论 -
01.29 桶排序
桶排序思想:若待排序的值在一个明显有限整型范围内,可设计有限个有序桶,将待排序的值装入对应的桶内(也可以装入若干个相同值),桶号就是待排序的值,顺序输出各桶的值,得到有序数列。例:输入n个1到100之间的整数,由小到大排序输出:#include#includeusing namespace std;int b[110];//建立一个有序桶int main(){ int n翻译 2018-01-29 21:16:07 · 235 阅读 · 0 评论