不多余,这是数组排序的逻辑,你应该站在数学的角度上先把这个排序的功能实现思路理解清楚。
k=i k做判断后k值有变化 判断k!=i 来对结果进行处理,每一步都必不可少。
这个排序思想重点理清楚,这个就会了
因为在第二个for循环里面,判断的x[k]和x[j]的大小,如果x[k]小于x[j],则把k的值赋值为j;然后再for循环结束后,再交换x[i]和x[k]的值,达到排序的从大到小排序的目的,k的值在第二个for循环里面如果满足k对应的数组的元素小于j对应数组的元素,则交换了k和j的值,这里i!=k是为了交换数组元素,达到排序数组的目的。
不会多余啊,当数组第一个数是数组中最大数时,就会出现 k == i ,这时候不需要交换位置。以此类推,当第二、第三 。。。。都有可能。
上面有if里有k=j;