冒泡排序算法

本文转载自头条文章原文章地址

1、bubble_sort.m

function y=bubble_sort(x)

x_len=length(x);

for i=1:x_len-1

for j=1:x_len-i

if(x(j)>x(j+1))

[x(j),x(j+1)]=swap(x(j),x(j+1));

end

end

disp([num2str(i),'.Sort:x=',num2str(x)]);

end

y=x;

end

function [a,b]=swap(x,y)

a=y;

b=x;

end

2、test.m

clc;

clear;

X=randperm(9);

disp(['Before Sort:X=',num2str(X)]);

disp('--------------------');

y=bubble_sort2(X);

disp(['Bubble Sort:x=',num2str(y)]);

3 bubble_sort2.m (optional)

function y=bubble_sort2(x)

x_len=length(x);

flag=1;%flag为0,这说明已经排好序,不用继续循环

for i=1:x_len-1

if flag

flag=0;

for j=1:x_len-i

if(x(j)>x(j+1))

[x(j),x(j+1)]=swap(x(j),x(j+1));

flag=1;%有交换 则说明还需要循环

end

end

disp([num2str(i),'.Sort:x=',num2str(x)]);

end

end

y=x;

end

function [a,b]=swap(x,y)

a=y;

b=x;

end

相关阅读

public static void bubbleSort(int[] numbers) {   int temp; // 记录临时中间值   int size = numbers.lengt

1. 冒泡排序基本思想:每一趟排序均从未排序元素开始,将未排序元素与其相邻元素进行比较,若不符合排序要求则进行交换后继续比较下一

原理:每次比较两个相邻的元素,将较大的元素交换至右端。

思路:每次冒泡排序操作都会将相邻的两个元素进行比较,看是否满足大小关系要

前言这些一个系列的文章,主要是自己学习算法和数据结构的一些笔记整理。从最简单开始,一步步深入,都是自己学习过程中的领悟。对于程

冒泡排序:一种交换排序,基本思想是两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止1.容易理解的代码:

void BubbleSo

用matlab实现冒泡排序法,「冒泡排序算法」MATLAB实现冒泡排序算法 - seo实验室相关推荐

  1. dct变换可以用什么方法代替_「dct变换」DCT变换自学笔记 - seo实验室

    dct变换 一.DCT简介 此处,DCT指Discrete Cosine Transform,意思是离散余弦变换(下文均用DCT表示),其常见用途是对音视频进行数据压缩.维基百科上的解释:DCT以不同 ...

  2. java 字符串数组定义_「string数组」string 数组怎么定义 - seo实验室

    string数组 string数组的定义有三种: String arr[] = new String[10]; //创建一个长度为10的String 类型数组. String arr[] = {&qu ...

  3. java list打乱顺序_「collections.shuffle」Collections.shuffle()打乱List - seo实验室

    collections.shuffle java.util.Collections类下有一个静态的shuffle()方法,如下: 1)static void shuffle(List> list ...

  4. 类似婚礼纪的Java项目_「婚礼纪」婚礼纪 java面试 - seo实验室

    婚礼纪 我现在只是一个快2年经验的平凡的菜鸡boy 第一面架构师面试 1.简单介绍一下你经常使用的集合 3.arraylist和linklist的区别 4.map有用过吧,简单说一下 5.说一下Has ...

  5. python二分法排序_「二分法排序」插入排序之二分法插入排序 - seo实验室

    二分法排序 简介 二分法插入排序的思想 对于每次循环,都有left,mid,right3个局部变量做支持. 将要插入的元素同mid位置元素比较,选择left - mid-1还是mid+1 - righ ...

  6. java分页sql语句_「sql分页」sql语句 实现分页 - seo实验室

    sql分页 sql语句 实现分页 /* 分页思想:比如你要每页获取10条记录,当你显示第5页的记录时, 也就是选取第40条至50条的记录.首先应该从所有的记录集中选取 50条记录,同时进行倒序,再从中 ...

  7. 「工科神器」MATLAB风波未平,「化学神器」ChemOffice再爆清查国内盗版行为

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 新智元报道 来源:知乎 编辑:元子 [导读]从哈工大.哈工程被禁用数学基础软件MATL ...

  8. java语言冒泡排序法_Java实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等...

    本文实现了八个常用的排序算法:插入排序.冒泡排序.选择排序.希尔排序 .快速排序.归并排序.堆排序和LST基数排序 首先是EightAlgorithms.java文件,代码如下: import jav ...

  9. 「算法」 关于随机化排序算法

    目录 前言 算法介绍 思路 缺陷及优化 优化1(效果不明显) 优化2(失败) 优化3(成功) 时间复杂度 代码 前言 GDKOI2021 的某次直播期间,看到讨论区里有人提到了 随机排序 算法( Mo ...

  10. 哈工大、哈工程被禁用「工科神器」MATLAB,美国「实体名单」影响深入校园

    点击上方"3DCVer",选择"星标" 干货第一时间送达 一个商业数学软件居然也能被美国人禁用. 哈工大.哈工程的老师和学生们最近无法使用 MATLAB 了,这 ...

最新文章

  1. seaborn heatmap绘制热力图cmap参数的含义
  2. PyQt5+python3+pycharm开发环境配置
  3. 总被忽略的 2 条产品原则
  4. 8.类定义、属性、初始化和析构
  5. 【英语学习】【English L06】U03 House L6 Sharing an apartment
  6. 07: redis分布式锁解决超卖问题
  7. 朋友借我10万并把房产证交给我,写了借条,并在借条上写明了用此房产做抵押,有效吗?
  8. python代码范文_Python any()用法及代码示例
  9. VXLAN详解(一)
  10. MySQL中文参考手册--8.MySQL教程--8.3 常用查询的例子
  11. .NET资源站点汇总
  12. _beginthreadex,CreateThread和_beginthread
  13. Linux实现倒计时显示时分QT,qt实现倒计时示例
  14. java strut2通配符_Struts2的通配符
  15. Oracle数据库之导入导出
  16. Kafka-Zookeeper监控工具简介、安装及使用 03
  17. android应用程序隐私设置在哪,手机权限设置在哪里_手机设置应用软件权限的具体步骤...
  18. es6删除数组某一项_什么时候用集合,什么时候用数组?一文帮你清晰界定
  19. 手把手教你通过端口映射,轻松搭建Windows远程桌面
  20. 奇数数列求和python_奇的解释|奇的意思|汉典“奇”字的基本解释

热门文章

  1. 人工智能真的会是真实的未来吗?
  2. 几种常见的PCB表面处理工艺优缺点及其适用场景
  3. 小程序json对象与字符串转换
  4. virustotal-请求头参数逆向
  5. mac m1 sourcetree安装
  6. 美公司宣称将制造可重复使用航天飞机 48小时就能再次发射
  7. 求解最大连续子序列和问题(Java)蛮力法+分治法
  8. Mysql进阶(上) -- 存储引擎,索引
  9. 稍等,我手机帮你远程调试下代码!
  10. 建立山海关北洋铁路官学堂的倡导者——金达