设计算法

来源:百度知道 编辑:UC知道 时间:2024/05/30 19:31:10
设计算法将一个整型数组调成这样的数组:所有3的倍数在最左边,所有除以3余1的在中间,而所有除以3余2的数在最右边。
可以不用写出完整的算法,给我一个大概的算法思想就OK了,如果附带一下核心代码就更好了~~~~

方法一:
另外搞三个数组或者链表,把除三余0,1,2的数分别放到那三个数组中,再填回原来的数组
方法二:
我讲不清楚,直接写代码了:
int k,i=1,j=n;
for(k=i;k<=j;k++)
if(A[k]%3==0)
swap(A[k],A[i++]);
else if(A[k]%3==2)
swap(A[k],A[j--]);