笔试题解析:冒泡序列

将数组相邻的两个元素进行比较,最终将元素按照从小到大的顺序从左到右排序,由于在排序过程中,总是小数往前放,大数往后放,就好比气泡往上升,所以称作冒泡排序。

#include <stdio.h>

int main()

{  

int i;   //比较的轮数  

int j;   //每轮比较的次数

int med;     //替换的中间数据  

int rst[5];     //定义数组rst含有5个元素  

printf("请输入5个数: ");    //打印这句话  

for(i = 0; i < 5; i++)    //只能有5个元素所以for循化找出5个数  

{  

scanf("%d", & rst[i]);    //将输入的5个数给rst数组的元素赋值  

}  

for(i = 0; i < 4; i++)    //一共五个数需要进行四轮比较才可以得出最终值  

{  

        for(j = 0; j < 4 - i; j++)     /*一共5个数需要比较四次,每一轮比较少一次比较的次数,比如第一轮比较需要比较四次,最终最小值就在最后一位元素确定,第二轮比较就只有四个数比较三次*/  

        {

                if(rst[j] > rst[j+1])   //if语句进行比较

                {

                        med = rst[j];    //条件成立把当前元素给中间值

                        rst[j] = rst[j + 1];    //把后一位元素给当前元素    

                        rst[j + 1] = med;   //把中间值给后一位元素,这时后一位元素为较小值    

                }  

        }

}  

printf("排序后的结果为:");    //打印这句话  

for(i = 0; i < 5; i++)    //for语句将得到的数组排序打印  

{  

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

}  

printf("\n");  //换行  

return 0;

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值