下午看到这个算法题,觉得那个人的算法有点复杂,回来想了想 写了个,请大家拍砖
我先说说我的思路吧,例如 2,4,1,5,6,3 。我的思路是先排序6,5,4,3,2,1 ,然后把插到6和5中间,然后其他数字右移一位,变成 6,1,5,4,3,2,把2在插到5和4中间 以此类推。算法如下
public void Sort()
{
int[] a ={ 7,6, 5, 4, 3, 2, 1 };
int temp = 0;
for (int i =1; i < a.Length; i+=2)
{
temp = a[a.Length - 1];
for (int j = a.Length-1; j > i-1; j--)
{
a[j] = a[j-1];
}
a[i] = temp;
}
}
大家有好的算法 请讨论讨论