首先冒泡排序是什么? 答:冒泡排序是一种交换排序算法,它的思想原理是自下向上进行扫描,扫描过程中相邻关键词两两对比,若为逆序则进行交换,一次扫描结束后可以确定一个元素的位置。重复扫描直至没有记录需要交换为止。 那冒泡排序如何实现呢? 以六个元素的一位数组为例(仅展示核心代码)
for(j
=0;j
<=4;j
++){
for(i
=0;i
<=4-j
;i
++){
if(a
[i
]>a
[i
+1]){
t
=a
[i
];
a
[i
]=a
[i
+1];
a
[i
+1]=t
;
}
}
}
冒泡排序能改进吗? 答:能啊,我们可以设置交换标志位,如果一次for循环中没有发生交换,说明有序,无需下次扫描,则flag值不变,若发生改变,则标志位值发生改变。这样就能减少无效的比较啦
ps:代码私信回复或者来我这下载哦