700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C语言 | 数组升序排列(冒泡排序法)

C语言 | 数组升序排列(冒泡排序法)

时间:2022-02-22 13:46:31

相关推荐

C语言 | 数组升序排列(冒泡排序法)

数组升序排列

#include<stdio.h>int main(){int a[1000];int i,j,n,t,k=0;scanf("%d",&n); //n值输入;for(i=0;i<n;i++)scanf("%d",&a[i]); //n个int类型的数据输入;for(j=n-1;j>0;j--)for(i=0;i<j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}//嵌套循环解释如下(冒泡排序);for(i=0;i<n;i++){printf("%d ",a[i]);//排好序的int类型数据输出;k++;if(k%8==0)printf("\n"); //输出时8个数据一行;}return 0;}

冒泡排序就是从左到右比较相邻两个元素的大小,以升序为例,第一轮比较时如果前一个元素比后一个元素大,就交换两个元素的位置,依次比较,直到最后一个元素最大。第二轮比较时倒数第二个元素就会为第二大的数,就这样一轮一轮的比较,最后实现升序排列。

例如,数组中元素为22,44,77,33,88,11,55,66

第一轮比较如下,

由表可得,第一轮比较将最大数88置于最后一个位置a[7]。

第二轮比较如下,

由表可得,第二轮比较将第二大的数置于倒数第二个位置a[6]。

依次几轮比较可得出

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。