思路:
要求冒泡排序优化以后的趟数和交换次数
交换次数等于逆序数
因为冒泡排序是临对换排序, 临对换一次减少一个逆序对
冒泡的趟数:
求出每个数a[i]的前面比它大的数的个数记为b[i]
答案是max{b[]}+1
最后一趟没有swap
总共冒泡max{b[]}+1这么多趟
答案是max{b[]}+1
最后一趟没有swap
总共冒泡max{b[]}+1这么多趟
因为对于每个数, 每一趟都把它前面比他大的一个数移到了它的后面
max{b[]}趟以后每个数前面都没有比它大的了,。。,,。
整体有序。。,。
max{b[]}趟以后每个数前面都没有比它大的了,。。,,。
整体有序。。,。
(思路来自neko13)
代码:#include<stdio.h>
#include<iostream>
#include<string.h>
#include&