c语言冒泡法排序10个数,c语言冒泡法排序10个数视频

http://www.itjxue.com  2023-01-06 05:48  来源:未知  点击次数: 

输入10个数,用冒泡排序法按由小到大顺序排序并输出??c语言的

如下参考:

#包括 stdio, h

Intmain()

Inta[10]={0};

IntI=0,j=0,t=0;

For (I = 0;我 10;我+ +)

{scanf (" % d ", a [I]);}

For (I = 0;我 10;我+ +)

{for (j = 0;J 10 - I;J + +) {

If (a [j] a [j + 1))

T=a,[j]。

A[j]=A,A+1加到[j]。

A[m+1]=t;

}}}

For (I = 0;我 10;我+ +)

{printf("%d",a[I]);}

返回0;}

任意输入10个数据,程序运行:

扩展资料:

冒泡排序算法的复杂原理如下:

1.比较相邻metaelements。如果第一个比第二个大,就交换它们。

2.对每一对相邻的元素执行相同的操作,从第一对开始,到最后一对结束。此时,最后一个元素应该是最大的数。

3.对除最后一个元素之外的所有元素重复上述步骤。

4.每次对越来越少的元素重复上述步骤,直到没有一对数字可供比较。

c语言编程:对10个数冒泡排序(升序)。

#include?stdio.h

int?main(){

int?number[10]?=?{95,?45,?15,?78,?84,?51,?24,?12,34,23};

for?(int j?=?0;?j? 9;?j++)

for?(int i?=?0;?i? 9 -?j;?i++)? {

if(a[i]??a[i?+?1])??? {

? ? ? ? ? ? ? ? ? int temp?=?a[i];

a[i]?=?a[i?+?1];

a[i?+?1]?=?temp;? }

}

for?(int i?=?0;?i? 10;?i++)??{

printf(“%d”,a[i]);? ? ?}

}

扩展资料:

常见排序算法

快速排序、希尔排序、堆排序、直接选择排序不是稳定的排序算法,而基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。

插入排序

已知一组升序排列数据a[1]、a[2]、……a[n],一组无序数据b[1]、b[2]、……b[m],需将二者合并成一个升序数列。

首先比较b[1]与a[1]的值,若b[1]大于a[1],则跳过,比较b[1]与a[2]的值,若b[1]仍然大于a[2],则继续跳过,直到b[1]小于a数组中某一数据a[x],则将a[x]~a[n]分别向后移动一位,将b[1]插入到原来a[x]的位置这就完成了b[1]的插入。

b[2]~b[m]用相同方法插入。

快速排序

快速排序是大家已知的常用排序算法中最快的排序方法。已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。首先任取数据a[x]作为基准。

比较a[x]与其它数据并排序,使a[x]排在数据的第k位,并且使a[1]~a[k-1]中的每一个数据a[x],a[k+1]~a[n]中的每一个数据a[x],然后采用分治的策略分别对a[1]~a[k-1]和a[k+1]~a[n]两组数据进行快速排序。

希尔排序

已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。

首先取一增量d(dn),将a[1]、a[1+d]、a[1+2d]……列为第一组,a[2]、a[2+d]、a[2+2d]……列为第二组……,a[d]、a[2d]、a[3d]……列为最后一组以次类推,在各组内用插入排序,然后取d'd,重复上述操作,直到d=1。

参考资料:排序-百度百科

用冒泡排序法对十个数进行排序 C语言

void?maopao(int?a[])//输入你的10个数{

for(int?i=0;i10;i++){

int?sym=0;

for(int?j=0;j10-i;j++)

{

if(a[i]a[j])

{

int?b=a[i];

a[i]=a[j];

a[j]=b;

sym=1;

}

}

if(sym==0)

break;

}

}

void?mian()

{

int?a[10]={3,2,1,4,5,3,6,7,8,8};

maopao(a);

for(int?i=0;i10;i++)

{

printf("%d",a[i]);

}

}

(责任编辑:IT教学网)

更多

推荐网页制作视频教程文章