c语言for里的i和j,不明白例子里的for循环里i和j的值是怎么回事

这篇博客详细探讨了一个双层循环用于数组排序的过程。从数组的倒数第二个元素开始,通过比较相邻元素并根据需要交换位置,实现降序排列。博主深入解析了内部逻辑,并以999...898890929991959497938988939097929495999189的数组为例,展示了排序的完整步骤。
摘要由CSDN通过智能技术生成

我先说一下我理解的下面的那两个for循环是什么样子吧,

for(i=8; i>=0; i--)

{

for(j=0;j<=i;j++)

{

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

,我的理解是从数组下标是8的数据开始,也就是数组的倒数第二个数据97,然后第二个for循环选取的是数组下标是0的数据,也就是99。将这两个数据进行比较,如果符合if条件则交换位置

整个运行过程应该是这个样子

:99 94 95 93 92 91 90 88 97 89

97 88 90 91 92 93 95 94 99 89

97 99 88 94 90 95 91 93 92 89

92 97 93 99 88 91 94 95 90 89

90 92 95 97 93 94 91 99 88 89

88 90 92 99 91 95 94 97 93 89

88 93 90 97 92 94 95 99 91 89\\这里出现循环  同下备注的

88 91 93 99 90 95 94 97 92 89

88 92 91 97 93 94 95 99 90 89

88 90 92 99 91 95 94 97 93 89

88 93 90 97 92 94 95 99 91 89\\循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值