算法经典基础
点十八
成就一番伟业的唯一途径就是热爱自己的事业。如果你还没能找到让自己热爱的事业,继续寻找,不要放弃。跟随自己的心,总有一天你会找到的。
展开
-
[九度]题目1096:日期差值
/*九度:题目1096:日期差值题目描述:有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天输入:有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD输出:每组数据输出一行,即日期差值样例输入:2011041220110422样例输出:11*/#include #define ISYEAP(x) x%100!=0&&x%4原创 2014-07-23 19:42:44 · 734 阅读 · 0 评论 -
[算法]冒泡排序
#include void BubbleSort(int arr[],int n){ int tmp; for(int i=n-1;i>0;i--){ for(int j=0;j<i;j++){ if(arr[j]>arr[j+1]){ tmp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=tmp; } } }}int原创 2014-07-29 19:50:31 · 395 阅读 · 0 评论 -
[算法]选择排序
void SelectionSort(int arr[],int n){ int minIndex,tmp; for(int i=0;i<n-1;i++){ minIndex=i; for(j=i+1;j<n;j++){ if(arr[minIndex]>arr[j]){ minIndex=j; } } if(minIndex!=i){ tmp=arr原创 2014-07-29 19:52:27 · 375 阅读 · 0 评论 -
[算法]归并排序
int arrTmp[100]; //定义一个临时数组//归并两个分段的结果,两个分段是数组中的[low,mid]以及[mid+1,high]中的元素void Merge(int arr[];int low,int mid,int high){ int i=low;j=mid+1;k=low //I、J、K分别指向待归并的两段以及临时数组 while(i<=mid&&原创 2014-07-29 20:33:29 · 508 阅读 · 0 评论 -
[算法]插入排序
void InsertionSort()(int arr[],int n){ int tmp; for(int i=0;i<n;i++){ tmp=arr[i]; j=i; while(j&&arr[j-i]>tmp){ arr[j]=arr[j-1]; j--; } arr[j]=tmp; }}原创 2014-07-29 20:13:25 · 498 阅读 · 0 评论 -
九度题目1123:采药
题目描述:辰辰是个很有潜能、天资聪颖的孩子,他的梦想是称为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草原创 2014-10-23 20:06:32 · 602 阅读 · 0 评论 -
坐在马桶上看算法:快速排序
本文转自:http://developer.51cto.com/art/201403/430986.htm高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓转载 2015-02-09 17:55:46 · 598 阅读 · 0 评论