MATLAB冒泡排序怎么用?

作者&投稿:绽雪 (若有异议请与网页底部的电邮联系)
~

冒泡法对10个数由小到大排序:

a=rand(1,10);%随机生成一组数

a%未排序前原始数据

n=10;%数组长度

forj=1:n-1

fori=1:n-1

ifa(i)>a(i+1)

c=a(i);

a(i)=a(i+1);

a(i+1)=c;

end

end

end


a%排序后数组显示

资料拓展

冒泡法排序原理:例如有一组数为12,23,1,4,2,6。使用冒泡排序方法使这组数从小到大排列。首先12和23比较,12<23,则位置不变;接着23和1比较,因为23>1,所以交换23和1的位置,这组数这时是12
123426;

然后比较23和4,因为23>4,所以交换23和4,这组数变为1214232
6;然后比较23和2,23>2,再交换,变为12142236;然后比较23和6,23>6,再交换,最后为121426

23。

这就叫经过了一趟排序,即相邻两数比较,大的放在后面,经过一趟排序后,最大的数就冒泡到最后面了。然后再对前n-1个数进行第二趟排序,排序后第二大的数就放在了第n-1个位置;最后经过n-1趟排序后整个数组就有序了。

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,代表了当今国际科学计算软件的先进水平。

参考资料来自于:MATLAB-百度百科




matlab除了冒泡排序法,还有其他程序吗,不用sort函数
常用的排序方法有:直接插入排序,希尔排序,简单选择排序,快速排序,冒泡排序,归并排序,基数排序等等,可以写类c语言的matlab程序,希望对你有用。

什么是问题规模?
问题规模本身并没有非常精准的定义,一般是指运行时间t和输入参数个数n的关系用O(n)表示,比如max()就是O(n)而冒泡排序则是O(n^2)。算法复杂度,即算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序...

跪求桶排序的MATLAB实现代码
if length_bi>1 %如果第i个桶中不止有一个数,则需要对这个桶中的数进行排序,for j=1:length_bi-1 %由于数字已经比较少,可以随意选择一种排序方法,例如冒泡排序 for k=1:length_bi-j if b{i}(k)>b{i}(k+1)c=b{i}(k);b{i}(k)=b{i}(k+1);b{i}(k+1)=c;end end ...

C语言编程:试用随机函数产生20个〔100,1000〕之间的整数,并按从小到大...
include int getRandNum();bool randKey = true;int main(){ int a[20] ={0};for(int i=0;i<20;i++){ a[i] = getRandNum()%899 +101; \/\/先产生0-899然后加上101就可以得到100到1000 printf("%d,",a[i]);} for(int i=0;i<20;i++) \/\/冒泡排序法 { for(int j=...

四行列式一行相同怎么算?
方法如下,请作参考:

sort函数的具体用法?
sort函数的用法:做ACM题的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头文件。这个函数可以传两个参数或三个参数...

使用Java语言编程实现:利用随机函数产生10个[30,65]之间的随机整数存入...
可以使用集合吗?使用数组比较麻烦,可以将产生的随机数转为Integer对象存入集合中,然后使用迭代器对集合进行遍历,取出数字对象转为字符形式,进行排序.然后存入一个新的集合中,再使用迭代器进行遍历,将数字打印出来.

C语言数组排列怎么做?
冒泡排序 c语言数组排序 冒泡法 正在求助 换一换 回答问题,赢新手礼包 苦等3分钟: 俄驱逐德国外交官 究竟是怎么回事 回答 苦等20分钟: 求教Matlab代码问题 回答 苦等48分钟: 关云长手游甘宁值得培养吗 甘宁技能属性介绍 回答 苦等59分钟: 男士饰品 男生应该怎样选择合适的戒指 回答 苦等1小时: 请男...

对灰度图像进行霍夫曼编码,用Matlab怎么操作?
?');\\x0d\\x0a%原始码字的灰度\\x0d\\x0aa=imread('kids.tif');\\x0d\\x0a\\x0d\\x0a%分区画出原始图像和灰度直方图\\x0d\\x0afigure;\\x0d\\x0asubplot(1,2,1)\\x0d\\x0aimshow(a);\\x0d\\x0a%取消坐标轴和边框\\x0d\\x0aaxisoff\\x0d\\x0aboxoff\\x0d\\x0atitle('MATLAB自带...

急求助 用matlab对一幅图像进行算数编码 RLE编码 霍夫曼编码 香农编码...
2 JPEG基本原理 JPEG对灰度图像的压缩处理过程如图1所示。JPEG对灰度图像的压缩处理过程主要包括:图像分割,离散余弦变换(DCT),量化(Quantization),“z”形排序(Zigzag Scan),差分脉冲编码调制(Differential Pulse CodeModulation,DPCM)对直流系数(Dc),行程长度编码(Run—kngth Encoding,RLE)对交流系数...

招远市18450306322: 用matlab 程序 冒泡法对10个数由小到大排序 -
僪航优福: a = rand(1,10);%随机生成一组数a%未排序前原始数据n = length(a);%数组程度for j = 1: n-1for i= 1:n-1if a(i)>a(i+1) c = a(i); a(i) = a(i+1); a(i+1) = c; end endenda %排序后数组显示这是最笨的方法,需要循环n*n次,可以有一些改进的方法,比如加入标志位,如果在一次循环中标志位不变,则停止循环.希望楼主自己体会 并改进.

招远市18450306322: 用matlab编辑一个十个数的冒泡排序 -
僪航优福: 使用for循环进行编写 int[] a={31,2,5,7,17,1,33,40}; for(int i=0;i<a.length;i++){for(int j=1;j<a.length-i;j++)if(a[j-1]>a[j]){int x=a[j-1];a[j-1]=a[j];a[j]=x;}}for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");} }

招远市18450306322: 怎样通过matlab用起泡法对一组数据进行从小到大排列 -
僪航优福: 举个例子对a=[2 3 6 1 9 4]从小到大排序,最后显示a=[1 2 3 4 6 9],满意请采纳,谢谢! a=[2 3 6 1 9 4]; [k,p]=size(a);for i=1:pfor j=(i+1):pif a(i)>a(j)b=a(i);a(i)=a(j);a(j)=b;endendenda

招远市18450306322: matlab起泡法排序(很简单的编程) -
僪航优福: h=10*rand(1,10); %给定10个数的矩阵 for i=1:10 for j=10:-1:i+1 if h(j-1)>h(j) t=h(j);h(j)=h(j-1); h(j-1)=t; end end end disp(h)

招远市18450306322: matlab冒泡排序 -
僪航优福: List={'England','France','American','Italy','Japan','China','Hongkong'};len=size(List);L=len(2); %取得列表长度for j=1:Lswap=0; f...

招远市18450306322: 大神,能帮我冒泡法排序MATLAB程序搞下吗? -
僪航优福: 有个函数[A,B]=sort(数组名,排列方法) 其中A为数组排序后的存放位置,B为排序前的数组下标

招远市18450306322: matlab里面双向冒泡排序怎么写呀求大神指点 -
僪航优福: 1、没明白你遇到了什么问题? 2、怎么会有两个tiaosu函数?而且前面的那个显然不对啊,输入参数u直接被赋值,根本没起到作用,另外赋值语句的右侧变量未定义,不可能执行的.后面的那个看上去基本没什么问题.

招远市18450306322: matlab 冒泡法排序 我刚刚接触 老师要求用M函数 思路很模糊 建立任意数组 然后将其从小到大排序 不知? -
僪航优福: function M=paixu(N) [Line,Row]=size(N); h=Line*Row-1; for j=h:-1:1 for i=1:jif N(i)>N(i+1)Temp=N(i+1);N(i+1)=N(i);N(i)=Temp;end end end M=N; %命令行输入paixu(排序的数组),返回的就是按列排序好的

招远市18450306322: matlab冒泡法排序我刚刚接触老师要求用M函数思路很模糊建立任意数组然后将其从小到大排序不知?
僪航优福: 应该对你有帮助的!functionM=paixu(N) [Line,Row]=size(N); h=Line*Row-1; forj=h:-1:1 fori=1:j ifN(i)>N(i+1) Temp=N(i+1); N(i+1)=N(i); N(i)=Temp; end end end M=N; %命令行输入paixu(排序的数组),返回的就是按列排序好的

招远市18450306322: 冒泡法的matlab实现 -
僪航优福: 这是数组越界了,w只有4个元素,而你的j+1到了5 话说matlab自带了排序的函数sort,应该比冒泡法的效率高,没有必要自己编的 ----------------- while里的逻辑表达式写错了,虽然matlab非常接近数学语言,但毕竟不是数学语言,不等式是不能连写的 function f=exch(w) w=[7 3 5 8]; n=length(w); i=1; while (1<=i&&i<3) j=1; while(1<=j&&j<4-i) if w(j)>w(j+1) a=w(j);w(j)=w(j+1);w(j+1)=a; end j=j+1; end i=i+1; end

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网