算法:冒泡排序和二分查找(记录)

本文介绍了编程基础知识中的冒泡排序和二分查找算法。首先,通过实例展示了冒泡排序的过程,解释了其通过不断比较和交换实现数组排序的原理。接着,详细说明了二分查找的思路,强调了需要在有序数组中进行查找的特点,并给出了代码实现。这两部分内容对于初学者巩固基础非常有帮助,同时也适合有一定经验的开发者查漏补缺。
摘要由CSDN通过智能技术生成

大家好, 我是一个新手小白,今天复习以前的知识,发现好多的知识不用都忘了,重新看了一下,写一个记录贴,希望可以帮助到和我一样新手小白,如果您是已经工作了很多年大佬,发现其中的错误欢迎给我留言,我也会及时更正,闲话少说开始吧!

首先,能看到这个文章就表示大家肯定有一些基础的知识了 .我就直接进入正题,无论是冒泡排序还是二分查找,这里是对数组进行操作,可能还能操作别的,这里就不一一列举了 .

第一步,就是定义一个数组.因为要说冒泡排序,所以我定义的是一个无序的int型数组:

冒泡排序        

上面已经定义一个数组了 ,因为对数组进行二分查找的时候要求查找的数组必须是有序的所以我先进行了冒泡排序:

个人对冒泡的排序的理解,冒泡排序就像好多气泡同时浮出水面一样,大的气泡时要比小的气泡先浮出水面的,就像对数组进行排序一样大的数是要靠后的,当然也是递减排序(从大到小),具体的思想就是:

1,先将下标为0的数(这里就叫a吧)和0 +1(这里就叫b,后面以此类推) 的数做比较,如果a > b 那么a和b交换位置,如果a没有b大,那么a和b的位置不变,然后这个过程不断.b再和c比.位置交换的规则同a和b比较一样,一直到数组的末尾.就是长度减一.这是第一轮.  经过第一轮的比较.已经可以确定这个数组中最大的数了.    

2,我们一共要进行好多轮,具体多少轮要看这个数组的长度来定,一般来说都是数组的长度减一.因为当我们进行到长度减一次数的比较后,就还剩最后一个数了,就是下标为0的数,他比不比较意义已经不大了.

通过上面的冒泡排序就可以得到一个有序的数组了 ,当然存在一个问题就是相同的数位置不变的问题,这个以后再说.具体的代码实现如下:

二分查找

                下面记录二分查找.二分查找有个前提.就是数组必须是有序的!有序的!有序的!

        二分查找的思想就是先把数组一分为二(不是把数组代码层面的一分为二),这里的一分为二是思想上的一分为二,先分段,看看需要查找的数,在数组前半段还是后半段.确定前后,在将确定位置的部分再次一分为二.按照这种方式的话,一个长度特别特别长的数组也查找的特别快.就像经常说到的一个话题.世界上没有张纸能对折7次.这个记录好像已经被打破了 .扯远了. 上代码吧:

   好了,就这么多.我要吃饭去了,如果不对,大家批评指正,有问题欢迎留言!!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值