文档章节

冒泡算法复习

cloes
 cloes
发布于 2017/02/25 16:04
字数 176
阅读 6
收藏 0
点赞 0
评论 0

近日参加某电网的高级工程师的笔试,要求现场写出一个冒泡排序,由于当时以为offer十拿九稳,结果却是大意失荆州,实在后悔,因此再次复习冒泡算法以作勉励。

冒泡算法基本原理:对于要求结果为递增的数列,两个相邻的元素比较,如果array[i] > array[i+1];那么两者交换,否则不做操作,继续遍历。

具体的PHP实现代码如下:

<?php

$input = array(6,1,88,66,3,99,123,66,33);

$length = count($input);

for($x = 0; $x < $length - 1; $x++){
    for($i = 0; $i < $length - $x - 1; $i++){
        if($input[$i] > $input[$i + 1]){
            $tmp = $input[$i + 1];
            $input[$i + 1] = $input[$i];
            $input[$i] = $tmp;
        }
    }
}

var_dump($input);

© 著作权归作者所有

共有 人打赏支持
cloes

cloes

粉丝 4
博文 19
码字总数 12591
作品 1
广州
排序算法-09-冒泡排序(Bubble Sort)

Basics Sorting - 基础排序算法 算法复习——排序 算法分析 时间复杂度-执行时间(比较和交换次数) 空间复杂度-所消耗的额外内存空间 使用小堆栈或表 使用链表或指针、数组索引来代表数据 排序...

Corwien
2016/06/17
41
0
数据结构复习笔记(4)

1, 归并排序无论初始序列如何排列,记录的比较次数不会受到影响,都是O(nlogn),但会影响到记录的移动次数,初始序列为正序时,记录移动次数为0,为逆序时,记录移动次数最大。 2, 若在100...

嗯哼9925
2017/12/27
0
0
【重拾算法】三种排序:冒泡、插入、选择

正文之前 最近在实验室除了看论文貌似没啥事情,但是老板论文都不给我推荐,所以我干脆自己再来找点东西看好了。。刚好前几天在珞樱网上找到了一份慕课的收费视频的录制版。。下下来好好看一...

HustWolf
07/11
0
0
冒泡排序

1 .算法思想 冒泡排序是一种简单的交换类排序算法,能够将相邻的元素进行交换,从而逐步将待排序序列变成有序序列。冒泡排序的基本思想是:从头扫描待排序列,在扫描的过程中顺次比较相邻两个...

偏偏注定要落脚丶
2017/11/11
0
0
冒泡排序算法及其优化

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就...

laymanxia
2014/04/12
0
0
OC-排序算法总结(冒泡、快速、插入、选择、希尔)

一、时间复杂度和空间复杂度 要学习算法首先要弄明白两个概念 1、时间复杂度:即一个算法执行所耗费的时间,理论上不可计算,只能通过上机测试,但可以根据它的变化规律预估出一个时间,记为...

乔兰伊雪
05/24
0
0
详细记录python的range()函数用法

详细记录python的range()函数用法 使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节。这里记录一下range(),复习下list的slide,最后分析一个好...

zhaobaoxin123
2017/02/08
0
0
详细记录python的range()函数用法

使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节。这里记录一下range(),复习下list的slide,最后分析一个好玩儿的冒泡程序。 这里记录一下:...

长平狐
2012/08/22
149
1
数据结构学习(一)

数据结构与算法 1. 链表与数组。 2. 队列和栈,出栈与入栈。 3. 链表的删除、插入、反向。 4. 字符串操作。 5. Hash表的hash函数,冲突解决方法有哪些。 6. 各种排序:冒泡、选择、插入、希尔...

技术小甜
2017/11/16
0
0
算法系列15天速成——第一天 七大经典排序【上】

今天是开篇,得要吹一下算法,算法就好比程序开发中的利剑,所到之处,刀起头落。 针对现实中的排序问题,算法有七把利剑可以助你马道成功。 首先排序分为四种: 交换排序: 包括冒泡排序,快...

BobbyLou
2015/08/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周一乱弹 —— 如果是你喜欢的女同学找你借钱

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @guanglun :分享Michael Learns To Rock的单曲《Fairy Tale》 《Fairy Tale》- Michael Learns To Rock 手机党少年们想听歌,请使劲儿戳(这...

小小编辑
36分钟前
9
3
NNS域名系统之域名竞拍

0x00 前言 其实在官方文档中已经对域名竞拍的过程有详细的描述,感兴趣的可以移步http://doc.neons.name/zh_CN/latest/nns_protocol.html#id30 此处查阅。 我这里主要对轻钱包开发中会用到的...

暖冰
今天
0
0
32.filter表案例 nat表应用 (iptables)

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 10.15 iptables filter表案例: ~1. 写一个具体的iptables小案例,需求是把80端口、22端口、21 端口放行。但是,22端口我...

王鑫linux
今天
0
0
shell中的函数&shell中的数组&告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析

影夜Linux
今天
0
0
Linux网络基础、Linux防火墙

Linux网络基础 ip addr 命令 :查看网口信息 ifconfig命令:查看网口信息,要比ip addr更明了一些 centos 7默认没安装ifconfig命令,可以使用yum install -y net-tools命令来安装。 ifconfig...

李超小牛子
今天
1
0
[机器学习]回归--Decision Tree Regression

CART决策树又称分类回归树,当数据集的因变量为连续性数值时,该树算法就是一个回归树,可以用叶节点观察的均值作为预测值;当数据集的因变量为离散型数值时,该树算法就是一个分类树,可以很...

wangxuwei
昨天
1
0
Redis做分布式无锁CAS的问题

因为Redis本身是单线程的,具备原子性,所以可以用来做分布式无锁的操作,但会有一点小问题。 public interface OrderService { public String getOrderNo();} public class OrderRe...

算法之名
昨天
11
0
143. Reorder List - LeetCode

Question 143. Reorder List Solution 题目大意:给一个链表,将这个列表分成前后两部分,后半部分反转,再将这两分链表的节点交替连接成一个新的链表 思路 :先将链表分成前后两部分,将后部...

yysue
昨天
1
0
数据结构与算法1

第一个代码,描述一个被称为BankAccount的类,该类模拟了银行中的账户操作。程序建立了一个开户金额,显示金额,存款,取款并显示余额。 主要的知识点联系为类的含义,构造函数,公有和私有。...

沉迷于编程的小菜菜
昨天
1
0
从为什么别的队伍总比你的快说起

在机场候检排队的时候,大多数情况下,别的队伍都要比自己所在的队伍快,并常常懊悔当初怎么没去那个队。 其实,最快的队伍只能有一个,而排队之前并不知道那个队快。所以,如果有六个队伍你...

我是菜鸟我骄傲
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部