为什么可以用冒泡法解这道题?
设 A 为一个有 n 个数字的集合(n>1),其中所有数字各不相同。现在允许任意相邻的两个数字相互交换,问最少需要交换几次才能使这个集合
变成一个从小到大排列的有序集合
★数据输入 第一行:单个整数 N,1<=N<=1000
第二行到第 N+1 行,每行有一个整数 Ai,1<=A[i]<=10^8
★数据输出
一个整数:表示交换的次数
输入示例 输出示例
5 4
3
1
4
5
2
就顺手用冒泡排了一下,冒了多少次泡,正好就是交换的最少次数,
但是这是为什么?正常思路应该是什么样的?