for循环嵌套实现冒泡排序,c语⾔代码注释
使⽤c语⾔构建冒泡排序。
冒泡排序算法步骤:
1. ⽐较相邻的元素。如果第⼀个⽐第⼆个⼤,就交换他们两个。
2. 对每⼀对相邻元素作同样的⼯作,从开始第⼀对到结尾的最后⼀对。这步做完后,最后的元素会是最⼤的数。
什么叫同步异步电机
3. 针对所有的元素重复以上的步骤,除了最后⼀个。
4. 持续每次对越来越少的元素重复上⾯的步骤,直到没有任何⼀对数字需要⽐较。
针对以上步骤,下⾯使⽤实例解释:
定义⼀个数组a = [3, 2, 8, 6, 4],数组长度len=5,其中数组a[0]的值为3,a[1]的值为2…以此类推。
第⼀轮求最⼤值:
取a[0]=3和a[1]=2进⾏⽐较,3>2,所以将a[0]和a[1]进⾏交换,则数组a变为[2, 3, 8, 6, 4];
取a[1]=3(此时的a[1]的值已经更新为3)和a[2]=8进⾏⽐较,8>3,所以将a[1]和a[2]不进⾏交换,数组a为[2, 3, 8, 6, 4];
如前⾯的步骤⼀致,进⾏⽐较得到数组a更新为[2, 3, 6, 8, 4];
如前⾯的步骤⼀致,进⾏⽐较得到数组a更新为[2, 3, 6, 4, 8];
第⼀轮⽐较结束(得到原数组中的最⼤元素值,并将其值存储在数组的最后⼀位)
此时数组的最⼤值存放在数组末尾,所以我们只需要对前⾯(len-1)个元素进⾏排序(所以在c语⾔代码中,第⼆个for循环中【 j < len-1-j 】)
第⼆轮求最⼤值:
在这个例⼦中表⽰,只需要对[2, 3, 6, 4, 8]的前4位进⾏排序,重复上⾯步骤,可得出原数组的第⼆⼤元素值,并存储在数组的倒数第⼆位。
此时数组更新为[2, 3, 4, 6, 8]。
第三轮求最⼤值
此时数组更新为[2, 3, 4, 6, 8]。
第四轮求最⼤值
此时数组更新为[2, 3, 4, 6, 8]。
结束
冒泡排序代码c语言
所以在长度len为5的数组中,需要进⾏len-1也就是4次外循环,也就是代码中的第⼀个for循环。matlab软件电脑安装教程
第⼀个for循环解决了求⼏次最⼤值。
第⼆个for循环解决了怎么求最⼤值。
且在第⼆个for循环中,由于i=0时(第⼀轮求最⼤值),求出了数组中的最⼤值且写⼊了数组末尾位置,所以只需对前⾯的len-1个值进⾏排序。
i=1时⼜跳⼊第⼆个for循环,对前⾯len-1个数值进⾏求最⼤值,并写⼊数组次末尾位置。
oracle 循环代码:
void sort(int*a,int len)//定义⼀个sort函数,并定义int*型的a和int型的len {
int i, j, t;//定义函数中的变量i,j,t。
for(i =0; i < len -1;++j)//第⼀个for循环
jdbc连接mysql数据库例子{
for(j =0; j < len -1- i;++j)//第⼆个for循环,代表步骤1和2
{
if(a[j]> a[j+1])
{
t = a[j];
a[j]= a[j+1];
vibration metera[j+1]= t;
}
}
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。