折半查找

来源:互联网 发布:分时数据下载 编辑:程序博客网 时间:2024/06/03 14:52

折半查找,原理比较简单,代码如下。


#include <stdio.h>void BinSearch(int s[],int);int main(){int search[10];for(int i = 0;i<10;i++)search[i] = i;BinSearch(search,10);}void BinSearch(int search[],int n){int s = 1;int start,end,mid;start = 0;end = n-1;while(start<=end){mid = (end + start)/2;if(s==mid){printf("%d\n",mid);return;}else if(s<mid){end = mid - 1;}else if(s>mid){start = mid +1;}}printf("error\n");}

这应该是比较简单的代码了。
最近有点小郁闷,甚至还问自己什么是程序设计。有点ACM老师的范了,其实觉得什么项目都不重要,现在是学东西的时候,培养自己的计算机思维能力才是关键,所以我现在
都不去看win32编程了,都在写数据结构与算法,天天写,也慢慢理解一些思想上的东西。有点烦人。好好的一个二叉树的遍历过程,代码是完全理解了,自己也写了,但是回头想想,对于递归和分治还是理解不是非常深,递归转换为迭代的过程也不是非常熟练。win32的话,个人觉得win32编程不是很难。入门有点难,入了就不是非常难了,当然,要达到高境界就难了。觉得我们学校都有一个奇怪的现象,都去做项目,而且非常不重视数据结构与算法,我们班女同学每次都问我什么网站的问题,重来没问过数据结构与算法的问题。我觉得数据结构与算法应该是最重要的啊,能养成一个人的思维能力。我也非常纳闷一个事,现在的大学生怎么老是想着做东西给别人看呢,就不能踏踏实实下来学点东西,不是我有偏见,还是觉得c/c++最考验人的编程思想,不过我发现大家都学什么Java,c#,Java接触过一学期,要学的,二本学校有点坑,然后就做了个桌面的模拟ATM的程序和写了个爬取网站的小东西,也接触过j2ee,发现那玩意真的很没意思,说到j2ee我就有点奇怪,那些所谓的web后台的居然不知道网络协议,连应用层都不太了解,tomcat的目录都没完全弄明白。还觉得自己做出个东西多牛逼多牛逼,觉得这会让我们更加浮躁而已。走了这么多路,也发现,其实一切都会回归c语言的。也回归数据结构与算法的。网络,ok,c语言服务器端编写。懂了这个,去学Javaweb我觉得是非常快非常快的。说实话,我觉得自己走的最大的弯路是当初在大一弄了一个多学期的网站。现在我很明确的说,我会弄c语言网络编程,而且这或许就是以后的饭碗了。但是不会去弄网站后台。
小小感慨。每天进步一点点。日子或许会过得好一点。或许。

0 0
原创粉丝点击