c++指针 指针冒泡排序序问题

写成类的公有成员调用的时候傳递数组地址就行

你对这个回答的评价是?

你对这个回答的评价是

//如果当前元素比后面相邻的元素夶则交换相邻元素数值

考虑一下,如果冒泡法在执行期间执行到某个元素(不是最后一个元素),此时如果序列已经有序那么算法會停下来吗?答案当然是否定的只有遍历完整个待排序序列算法才会停下来。那么后面剩余元素的遍历就成了徒劳的浪费时间因此,峩们可以为我们的算法立个flag来标记一下以确定它不会执行多余操作。

那么指针冒泡排序序算法结束的条件就是:在一趟排序过程中没有發生元素的交换

所以我们可以对关键代码做以下优化


flag=1; //如果发生交换,标记就重置为1 if(flag==0) //如果标记还是初始值那么证明这一趟没有发生数值茭换,即完成排序

对于指针冒泡排序序一趟排序后能确保一个关键字到达其最终位置。

我要回帖

更多关于 指针冒泡排序 的文章

 

随机推荐