成对枚举 很多场合需要枚举一个集合中的任意两个元素(下标不能相等,值可以相等),需要两个循环分别枚举这两个数的下标,不妨令第一个数的下标小于第二个数的下标,第一个数 iii 可以取遍 1∼n−11\sim n-11∼n−1,第二个数 jjj 取遍 i+1∼ni+1\sim ni+1∼n。 for (int i = 1; i < n; ++i) for (int j = i+1; j <= n; ++j) // 此时的 a[i] 和 a[j] 即是当前枚举到的一个对元素