#P1242. Orange的冒泡排序
Orange的冒泡排序
Orange的冒泡排序
题目描述
冒泡排序是一种简单的排序算法,它通过重复遍历待排序的数列,一次比较两个元素,如果他如果前一个比后一个大,则交换之。遍历数列的工作是重复进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
Orange刚刚学完冒泡排序,但老师说,冒泡排序是一种已经被弃用的算法,因为他的时间复杂度太大了!Orange才刚刚学算法,不太清楚时间复杂度这个概念,于是他想到了冒泡排序中交换相邻元素这一操作,他用交换的次数来衡量冒泡排序的时间复杂度。他想知道,对于一个长度为 的序列进行升序排序,冒泡排序的时间复杂度究竟是多少呢?换句话说,你需要求出一次冒泡排序中交换相邻元素的次数。
注意:冒泡排序是一种稳定的排序算法,如果 ,则无需交换。
输入格式
输入共包含2行,第1行包含一个整数 ,表示序列长度,第二行包含 个整数 ,表示要排序的序列。
数据范围:
输出格式
一个整数,表示答案。
样例 #1
样例输入 #1
5
1 2 4 3 5
样例输出 #1
1