思路:
比较相邻的元素。如果第一个比第二个大,就交换他们两个。第一次比较就把最大的元素放在最后;然后就固定最后一个元素,去比较前面的元素,把第二大的元素放在倒数第二个位置;然后就去把第三大的元素放在倒数第三个位置,以此类推。
假设nums数值有n个元素。
第i轮就是为了去寻找第i的大的元素。总共需要n-1轮,因为找到了n-1个大的元素,剩下的元素就是最小的,不需要去管,放在第一个位置就行。
第一轮(i=0):n个元素,两两比较,需要进行n-1次比较
第二轮(i=1):n-1个元素,两两比较,需要进行n-2次比较
第三轮(i=2):n-2个元素,两两比较,需要进行n-3次比较
.所以
第i轮(i-1):n-i个元素,两两比较,需要进行n-i-1次比较。
总共进行n-1轮
第n-1轮(i=n-2):两个元素,两两比较,需要进行1次比较。
代码如下: