c语言for语句的冒泡排序法

发布时间:2024-11-11 11:25:01

for语句可能用来实现冒泡排序法。

具体而言,冒泡排序法须要经由过程两重轮返来实现:外层轮回把持排次序数,内层轮回把持比较跟交换。

重要的过程如下:1. 从第一个元素开端,与相邻的后一个元素比较大小,若前一个元素大年夜于后一个元素,则将两个元故旧换地位;2. 反复上一步,直到最后一个元素,最后一个元素是以后最大年夜的数;3. 顺次增加比较的数量,直到比较结束为止。

因此,经由过程for语句的嵌套轮回,可能在C言语中实现冒泡排序法,实现对一个数组停止排序。

实现过程:

(1) 经由过程两个 for 轮回实现冒泡排序的全过程,外层 for 轮回决定冒泡排序的趟数,内层 for 轮回决定每趟所停止两两比较的次数。

(2) 顺序代码如下:

#include <stdio.h>

int main()

{

int i,j,t,a[11]; //定义变量及数组为基本整型

printf("请输入10个数:\n");

for(i=1;i<11;i++)

scanf("%d",&a[i]); //从键盘中输入10个数

for(i=1;i<10;i++) //变量i代表比较的趟数

for(j=1;j<11-i;j++) //变最j代表每趟两两比较的次数

if(a[j]>a[j+1])

{

t=a[j]; //产利用旁边变童实现两值调换

a[j]=a[j+1];

a[j+1]=t;

}

printf("排序后的次序是:\n");

for(i=1;i<=10;i++)

printf("%5d",a[i]); //将胃泡排序后的次序输出

printf("\n");

return 0;

}

运转成果:

请输入10个数:

66 32 23 45 25 5 15 69 46 37

排序后的次序是:

5 15 23 25 32 37 45 46 66 69。