先把4个最小的数和1个最大的数放好位置.其他的按顺序排就可以了:
可以设置个flag,用来表示位置是否被占(如flag=1表示位置已经被占,0表示还没被占),按顺序遍历数组位置,遇到被占,continue;遇到没被占,则放进矩阵.
----------------解决方案--------------------------------------------------------
我曾想过这样的:
1.另外加个矩阵,用选择排序选种元素,插入到额外的矩阵中.当然原始矩阵中的元素有标记,已经被调入新矩阵的置1,否则还是0.
可是这样虽然遍历少了,时间复杂度还可以,就是额外空间太多.
2.先做排序,再交换并且移位.不过感觉好麻烦,而且至少要遍历2次.
不知谁有好一点的方法.
----------------解决方案--------------------------------------------------------