冒泡排序的程序代码如下:
#include<stdio.h>
int main()
{
int a[10]={0}
int i=0,j=0,t=0
for(i=0i<10i++)
{scanf("%d",&a[i])}
for(i=0i<10i++)
{for(j=0j<10-ij++){
if(a[j]>a[j+1])
{
t=a[j]
a[j]=a[j+1]
a[j+1]=t
}}}
for(i=0i<10i++)
{printf("%d ",a[i])}
return 0}
任意输入十个数据,程序运行结果:
扩展资料:
冒泡排序算法的原理如下:
1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2、对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3、针对所有的元素重复以上的步骤,除了最后一个。
4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
冒泡排序是比较经典的排序算法。代码如下:
for(int i=1i<arr.lengthi++){
for(int j=1j<arr.length-ij++){
//交换位置
}
拓展资料:
原理:比较两个相邻的元素,将值大的元素交换至右端。
思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。
第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的时候最后一个数不参与比较;
第二趟比较完成后,倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后两个数不参与比较;
依次类推,每一趟比较次数-1;
……
举例说明:要排序数组:int[] arr={6,3,8,2,9,1}
for(int i=1i<arr.lengthi++){
for(int j=1j<arr.length-ij++){
//交换位置
}
参考资料:冒泡排序原理
冒泡法对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-百度百科
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)