本文主要是介绍补充二分查找的一些小细节~~~~~~增加兄弟们作为程序员的小内功,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
男人一诺千斤重!!!!
- 关于上一篇博客的小补丁
- 1. 如何生成随机数
- 2. sizeof用法
关于上一篇博客的小补丁
我阿涛向来守信用,这不是上午才给兄弟们讲了二分查找嘛,其中有一些小细节和主干有关系,但是不多,就没有在那里细讲,但是我答应了兄弟们一定会给兄弟们补上的,这不久来了吗,所以兄弟们也不要吝啬点赞收藏啊!!
1. 如何生成随机数
上面呢是cplusplus网站对于我们所需要用到生成随机数的函数的介绍,rand函数,我们可以记住这个网站,它对于我们日后的学习会有很大的帮助,当然喽,正如兄弟们所见,这个网站需要我们具有一定的英文水平,准确来说需要但是不严格需要,只要你能读懂每个词的意思,等到后面我们使用的多了,感觉自然会来的!
那么我先来带着大家看一下:
(void)表示这个函数不需要接收参数,里面什么东西都不放就可以了,具体的关于函数的知识,我后面可能还会给大家发一篇博客,没办法,谁让我宠粉呢!!
int 代表这个函数会返回一个int类型的数据,那人家的锁是三角形的我们不可能用一个圆形的钥匙打开这把锁吧,我们也要用一个int类型的变量去接收它。如下:
可以很清楚的看到,这里十个随机数整整齐齐排列在那里,等我去使用,当然了,如果这个随机数那么容易生成的话,我都不至于再写一篇博客给兄弟们讲解,我们再来运行一次看看哈!
博客没有办法录制视频上去,但是阿涛以自己的人格保证,我绝对是重新运行了一次程序,那么问题就很明显了,这个随机数随机了但也没有完全随机,两次随机的一摸一样的这还得了?
兵来将挡水来土掩,通过阅读文献,我们知道了要想要运行成功运行rand函数,我们还要调用srand()函数!
srand返回类型是void,但是参数类型是无符号整数,还是需要的一个不断变化的无符号整数,咦,奇了个怪了我们明明需要的就是一个随机数,这边竟然还要我自己搞一个不断变化的数字填进去,在这里套娃???想一想,这个世界上有什么东西在不断变化?兄弟们都看看自己的手腕,手腕上的劳力士,上边的表针是不是一刻不停地在滴答滴答,对喽!就是时间!这个世界上,时间是在不断变化的,我们就可以利用时间的变化来搞定这个srand的参数,我们只需要一个时间戳就可以完美解决这个问题了!!!
身为一名技术高超的程序员,我们还是需要成熟地去使用搜索引擎的!!
这应该就是我们开启新世界大门的最后一块拼图了,显而易见的是,这个函数的返回类型不是无符号整数,所以我们需要进行一次强制类型转换,再者就是这个函数的参数,我们也不搞那些花里胡哨的直接来个void类型,皆大欢喜!
阿涛再给大家唠叨两句,这里的time函数是库函数,你使用了库函数是不是应该和系统知会一声?这是我们作为程序员该有的礼貌,也就是我们程序员的基本素质!
奇了怪了,怎么我们调用了这个,又调用了那个,就结果来看怎么还不如第一次运行的呢?这里阿涛就直接告诉兄弟们吧,因为频繁调用srand就有可能来不及做出相应的反应,所以我们要牢记:在使用srand函数的时候只要在主函数里调用一次就够了
这样子不就很好地解决了我们的问题吗?
2. sizeof用法
我相信啊我们有的同学活学活用,我刚教给你们一个网站,你们就会上去使用,但是我估计啊你们根本搜不到,先是怀疑自己有没有输错,然后就怀疑是不是网站的问题,最后还要骂我一句误人子弟,其实啊我之前讲了啊,那个网站是用来搜索函数的,可是sizeof根本就不是函数啊,它是一个运算符,计算空间大小的啊。
这里输出了四十,那为什么会是四十呢?我们知道,emmm你们应该不知道,我知道,一个int类型的变量是四个字节,我创建了一个数组,里面放着十个int类型的变量,那么请问十乘以四是多少?这不就讲清楚了吗,包括上一篇博客我给大家伙说的,求right的初始值就是用的总的内存空间除以上一个元素的内存空间,这不就是元素的个数吗?
包括后面我们还会给兄弟们讲到一个strlen库函数,那个是用来求字符串长度的,可千万不敢和这里的sizeof搞混啊!!
其实我知道兄弟们多半是会搞混的,因为当初学这点东西的时候也是十分痛苦,放心等到我博客写到了一定程度,我也是会给兄弟们好好讲解一番的!!!
一天两更,兄弟们这部点个赞?
百年大道,你我共勉!!
这篇关于补充二分查找的一些小细节~~~~~~增加兄弟们作为程序员的小内功的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!