1什么是冒泡排序?
对一组数进行排序 目标是升序
2思想:
两两相邻元素比较,有可能的话需要交换(循环比较)
一趟冒泡排序只能让一个数字出现在最终位置上(循环趟数)
例如

经过9-1趟循环就能把顺序排成
1 2 3 4 5 6 7 8 9
3代码展示↓
*注意sz为数组的大小(有多少个数)
4运行结果↓

5错误案例


可见并没有进行排序 问题出在哪呢?
6分析原因
比较两种写法很明显就是计算数组大小的sz放到了sort 函数里面去了 这种方法是不行的
我们知道arr在传参的时候是将第一个元素的地址传进去的这个时候再sizeof(arr)则是4个字节后面sizeof【0】也为4个字节 这是sz=1 由于sz-1=0 for循环是根本进不去的 所以没有进行排序
1857

被折叠的 条评论
为什么被折叠?



