![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 56
淇怪君
love life and technology
展开
-
冒泡排序改进算法(双向起泡)
#include void TwoBubbleSort(int *Array ,int n);void TwoBubbleSort(int *Array ,int n){ int topmin=0; int bottommax=n; int mmin=0,mmax=0; int i=0; int a=0; while(topmin<bottommax) { mm原创 2015-05-17 15:08:15 · 1053 阅读 · 0 评论 -
斐波那契数列改进算法
#include #include int Memory[9];int fib(int n,int *Memory){ if(n<=1) { Memory[n]=n; return n; } else if(Memory[n]!=0) { return Memory[n]; } els原创 2015-05-23 22:09:41 · 727 阅读 · 0 评论 -
Ants
#if 0 n只蚂蚁以每秒1cm的速度在长度为L的竿子上爬行,当蚂蚁爬到竿子的端点时就会掉落,由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反方向爬回去, 对于每只蚂蚁,我们知道它距离竿子左端的距离Xi,但是不知道它当前的朝向,请计算所有蚂蚁落下竿子所需要的最短时间和最长时间#endif#include #include int Solve(int *Array,原创 2015-05-23 18:38:22 · 462 阅读 · 0 评论 -
抽签问题改进算法
#if 0 你的朋友提议玩一个游戏,将写有数字的n个纸片放入口袋中,你可以从口袋中抽取4次纸片,每次记下纸片上的数字后都将其放回口袋中,如果这四个数字的和为m, 就是你赢,否则就是你的朋友赢,你挑战了好几次,结果一次也没有赢,于是撕破口袋,取出所有的纸片,检查自己是否有赢的可能性。 请编写一个程序,判断当纸片上写的数字是K1,K2,K3,...,Kn 时,是否村在原创 2015-05-23 21:25:42 · 1853 阅读 · 0 评论 -
抽签问题
#if 0 你的朋友提议玩一个游戏,将写有数字的n个纸片放入口袋中,你可以从口袋中抽取4次纸片,每次记下纸片上的数字后都将其放回口袋中,如果这四个数字的和为m, 就是你赢,否则就是你的朋友赢,你挑战了好几次,结果一次也没有赢,于是撕破口袋,取出所有的纸片,检查自己是否有赢的可能性。 请编写一个程序,判断当纸片上写的数字是K1,K2,K3,...,Kn 时,是否村在原创 2015-05-23 20:44:31 · 678 阅读 · 0 评论 -
三角形问题
#if 0 有N根棍子,棍子i的长度为Ai,想要从中选出3根棍子组成周长尽可能长的三角形,请输出最大的周长,若无法组成三角形则输出0#endif#include int Solve(int *Array,int n);int Get_max(int k,int x);int Get_max(int k,int x){ if(k<x) return原创 2015-05-23 18:03:00 · 680 阅读 · 0 评论 -
直接选择排序
#includevoid SelectSort(int *Array,int n);void SelectSort(int *Array,int n){ int i=0,j=0,m=0; int temp=0; for(i=0;i<n;i++) { m=i; for(j=i+1;j<n;j++) {原创 2015-05-17 19:04:39 · 392 阅读 · 0 评论 -
快速排序
#include #include int Partition(int *Array,int low,int high);int Partition(int *Array,int low,int high){ int location=*(Array+low); while(low<high) { while(low=location)原创 2015-05-17 17:54:01 · 414 阅读 · 0 评论 -
改进后的冒泡排序(单向起泡)
#include void BubbleSort(int *Array ,int n);void BubbleSort(int *Array ,int n){ int flag=0,i=0;//Array[flag]之后没有发生交换 int a=0,m=0; flag=n-1; while(flag!=0) { m=0; //此行必不可少 for(i=0;i<fla原创 2015-05-17 14:31:36 · 463 阅读 · 0 评论 -
冒泡排序基本算法
#include void BubbleSort(int *Array ,int n);void BubbleSort(int *Array ,int n){ int j=0,i=0,k; for(j=n-1;j>0;j--) for(i=0;i<j;i++) { if(*(Array+i)>*(Array+i+1)) { k=*原创 2015-05-17 13:40:45 · 304 阅读 · 0 评论 -
部分和问题
#if 0 给定整数a1,a2,a3,a4...an,判断是否可以从中选出若干数,使它们的和恰为k#endif#include #include int Dfs(int i,int sum,int k,int *Array,int n){ if(i==n) return sum==k; if(Dfs(i+1,sum,k,原创 2015-05-24 11:25:51 · 391 阅读 · 0 评论