[问题] 冒泡排序的问题

楼主: kdok123 (小天)   2014-09-08 20:57:48
void bubblesort(int k[],int n)
{
bool flag=1;
int count1=0, count2 = 0;
for(int i=0; i<n-1 && flag ; i++){
flag = 0;
for(int j=1; j<n-i; j++){
//for(int j=n-1; j>i; j
作者: Feis (永远睡不着 @@)   2014-09-08 21:08:00
你想想 flag 的意义. 拿掉 count1 会一样吗?至于 count2 为什么一样就想想交换邻居对于顺序的影响不管哪种 for , 元素都只会往他应该在的顺位透过交换移动
作者: putumaxally (putumaxally)   2014-09-08 21:17:00
flag初值设1,进入循环马上被洗掉我眼残@@
楼主: kdok123 (小天)   2014-09-08 21:36:00
F大: 我知道flag拿掉会不一样,也知道count2一样想知道的是为什么for从低和从高count1的效率会不一样呢?
作者: Feis (永远睡不着 @@)   2014-09-08 21:50:00
所以你不懂两个 for 的 flag 不同?flag 为0没有需要交换的…顺序不同 flag 变成 0 的回合数不这是逻辑问题…估计会被砍文章XD想一下 5 1 2 3 4 在两种 for 的差异… count1 各是多少?

Links booklink

Contact Us: admin [ a t ] ucptt.com