冒泡法排序的详细分解(一看就懂)

本文深入解析冒泡排序算法的原理与步骤,通过C语言实现排序过程,演示如何通过比较相邻元素并交换位置来对数组进行排序。文章详细解释了冒泡排序的工作机制,包括每趟排序如何确定一个数的正确位置。

原创作品:如有不当,还请不吝赐教
冒泡排序:比较相邻俩个元素之间的大小,如果顺序错误,那么交换位置
(每一趟只能确定一个数的归位,也就是说第一趟确定末尾数字归位,第二趟确定倒数第二位归位,以此类推)

#include<stdio.h>
int main()
{
int n,i,t,p,j;
printf(“please input n:”);//输入数组元素的个数
scanf("%d",&n);
int a[100];
printf("\n");
printf(“please input a:”);
for(i=0;i<n;i++)//给数组元素赋值的方式为遍历数组
{
scanf("%d",&a[i]);//给元素赋值
}
for(i=0;i<n-1;i++)//
{
for(j=0;j<n-i-1;j++)//第一个元素开始开始比较,那么只需要比价n-1次(除去 本身) // 那么n-i的含义是什么呢?第二趟完成,第三趟第三个元素开始排序,由于前俩趟末尾后俩位数已经排好,所以它不需要和排过的后俩位比较,所以要-2,而-i也是这个道理
{
if(a[j]<a[j+1])
{
p=a[j];
a[j]=a[j+1];
a[j+1]=p;
}
}
}
printf(“result:”);
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}

}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值