
冒泡排序的程序代码如下:
#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、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
1、打开Visual stdio软件,在空项目里新建一个c语言程序空文件:
2、d卖升轿出的窗口选择C++文件,将文件扩展名改为“.c”点击添加完成新建c文件,之后就笑者可以编写程序了:
3、这里从数组头部开始,不断比较相邻的两中肆个元素的大小,让较大的元素逐渐往后移动(交换两个元素的值),直到数组的末尾,经过一轮的比较,就可以找到最大的元素,并将它移动到最后一个位置,然后依次类推直到数组的最后一个数比较完,最后输出结果;
4、最后需要执行程序,按下crtl+F5d出程序的执行结果,就可以看到排序后的结果了:
程序如下:
#include <stdio.h>
int main ()
{
int a[10]
int i, j, t
printf ("请输入十个数:\n")
for (i = 0i <10i++)
{
printf ("a[%d]=", i+1)
scanf ("%d",&a[i])
}
for (j = 0j <9j++)
for (i = 0i <9 - ji++)
if (a[i] >a[i+1])
{
t = a[i]
a[i] = a[i+1]
a[i+1] = t
}
printf ("由小到大的顺序为:\n")
for (i = 0i <10i++)
{
printf ("%d,",a[i])
}
printf ("\n")
return 0
}
运行结果
请输入十个岁携备数:
a[1]=7
a[2]=8
a[3]=9
a[4]=6
a[5]=5
a[6]=4
a[7]=1
a[8]=2
a[9]=3
a[10]=99
由小到大的顺序为:
1,2,3,4,5,6,7,8,9,99。
冒泡排序算法的原理如下:
1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2、对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,隐顷最后的元素应该会是最大的数。
3、针对所有的元素重复以上的步骤,除了最后一个。
4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
扩展资料:
冒泡排序的思想:
首先,从表头开始往后扫描数组,在扫描过程中逐对比较相领两个元素的大小。若相邻两个元素中,前面的元素大于后面的元素,则将它们互换, 称之为清去了一个逆序。
在扫描过程中,不断地将两相邻元素中的大者往后移动,最后就将数组中的最大者换到了表的最后,这正是数组中最大元素应有的位置。
然后,在剩下的数组元素中(n-1个元素)重复上面的过程,将次小元素放到倒数第2个位置。不断重复上述过程,直到剩下的数组元素为0为止,此时的数组就变为了有序。
假设数组元素的个数为西,在最坏情乎毁况下需要的比较总次数为: (n-1)+(n- 2)...+2+1)- n(n-1)/2。
参考资料来源:百度百科-冒泡排序
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)