用matlab实现冒泡排序法,「冒泡排序算法」MATLAB实现冒泡排序算法 - seo实验室
冒泡排序算法
本文转载自头条文章原文章地址
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实验室相关推荐
- dct变换可以用什么方法代替_「dct变换」DCT变换自学笔记 - seo实验室
dct变换 一.DCT简介 此处,DCT指Discrete Cosine Transform,意思是离散余弦变换(下文均用DCT表示),其常见用途是对音视频进行数据压缩.维基百科上的解释:DCT以不同 ...
- java 字符串数组定义_「string数组」string 数组怎么定义 - seo实验室
string数组 string数组的定义有三种: String arr[] = new String[10]; //创建一个长度为10的String 类型数组. String arr[] = {&qu ...
- java list打乱顺序_「collections.shuffle」Collections.shuffle()打乱List - seo实验室
collections.shuffle java.util.Collections类下有一个静态的shuffle()方法,如下: 1)static void shuffle(List> list ...
- 类似婚礼纪的Java项目_「婚礼纪」婚礼纪 java面试 - seo实验室
婚礼纪 我现在只是一个快2年经验的平凡的菜鸡boy 第一面架构师面试 1.简单介绍一下你经常使用的集合 3.arraylist和linklist的区别 4.map有用过吧,简单说一下 5.说一下Has ...
- python二分法排序_「二分法排序」插入排序之二分法插入排序 - seo实验室
二分法排序 简介 二分法插入排序的思想 对于每次循环,都有left,mid,right3个局部变量做支持. 将要插入的元素同mid位置元素比较,选择left - mid-1还是mid+1 - righ ...
- java分页sql语句_「sql分页」sql语句 实现分页 - seo实验室
sql分页 sql语句 实现分页 /* 分页思想:比如你要每页获取10条记录,当你显示第5页的记录时, 也就是选取第40条至50条的记录.首先应该从所有的记录集中选取 50条记录,同时进行倒序,再从中 ...
- 「工科神器」MATLAB风波未平,「化学神器」ChemOffice再爆清查国内盗版行为
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 新智元报道 来源:知乎 编辑:元子 [导读]从哈工大.哈工程被禁用数学基础软件MATL ...
- java语言冒泡排序法_Java实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等...
本文实现了八个常用的排序算法:插入排序.冒泡排序.选择排序.希尔排序 .快速排序.归并排序.堆排序和LST基数排序 首先是EightAlgorithms.java文件,代码如下: import jav ...
- 「算法」 关于随机化排序算法
目录 前言 算法介绍 思路 缺陷及优化 优化1(效果不明显) 优化2(失败) 优化3(成功) 时间复杂度 代码 前言 GDKOI2021 的某次直播期间,看到讨论区里有人提到了 随机排序 算法( Mo ...
- 哈工大、哈工程被禁用「工科神器」MATLAB,美国「实体名单」影响深入校园
点击上方"3DCVer",选择"星标" 干货第一时间送达 一个商业数学软件居然也能被美国人禁用. 哈工大.哈工程的老师和学生们最近无法使用 MATLAB 了,这 ...
最新文章
- seaborn heatmap绘制热力图cmap参数的含义
- PyQt5+python3+pycharm开发环境配置
- 总被忽略的 2 条产品原则
- 8.类定义、属性、初始化和析构
- 【英语学习】【English L06】U03 House L6 Sharing an apartment
- 07: redis分布式锁解决超卖问题
- 朋友借我10万并把房产证交给我,写了借条,并在借条上写明了用此房产做抵押,有效吗?
- python代码范文_Python any()用法及代码示例
- VXLAN详解(一)
- MySQL中文参考手册--8.MySQL教程--8.3 常用查询的例子
- .NET资源站点汇总
- _beginthreadex,CreateThread和_beginthread
- Linux实现倒计时显示时分QT,qt实现倒计时示例
- java strut2通配符_Struts2的通配符
- Oracle数据库之导入导出
- Kafka-Zookeeper监控工具简介、安装及使用 03
- android应用程序隐私设置在哪,手机权限设置在哪里_手机设置应用软件权限的具体步骤...
- es6删除数组某一项_什么时候用集合,什么时候用数组?一文帮你清晰界定
- 手把手教你通过端口映射,轻松搭建Windows远程桌面
- 奇数数列求和python_奇的解释|奇的意思|汉典“奇”字的基本解释