冒泡法对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中让矩阵按某一列排列,需要用到排序算法对某一列数据排序羡腊,然后在排序算法的if判断句中,依次交换矩阵两行内容。
以题目中矩阵为例,可以利用冒泡法对第三列数据排序,实现程序如下:
a=[5 7 84 6 18 0 7]
n=length(a)b=[]
for i=1:n-1
for j=1:n-i
if(a(j,3)>a(j+1,3))
b=a(j,:)a(j,:)=a(j+1,:)a(j+1,:)=b
end
end
end
disp(a)
通过程序即可实现将程序按第三列排列。
扩展资料
冒泡排序算法原理:
1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2、对每一对相邻元素做同样的工作,从开明销始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3、针对所有的元素重复以上的步骤,除了最后一个。
4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要激派游比较。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)