日期:2014-05-17  浏览次数:20871 次

求一个队列数据重新排列的问题,在线等
假设我现在有两种对象,对象类型为N和C,排入一个数组中。现在要求对数据中的数据进行重新排列,要求是遇到类型为N的数据,可以为一排,但一排中对象最多不可以超过三个,超过的话就重新起一排(不可以颠倒排列的顺序)。遇到类型为C的数据,独占一排。请给出具体实现。示意图见下
队列

------解决方案--------------------
int nCount=0;
for(int i=0;i<arry.Length;i++)
{
    if(arry[i].Type=="N") //N
    {
       nCount++;     
        Console.Write(arry[i].Name);  //输出N
       if(nCount==3)
       {
           Console.Write("\r\n"); //新行
             nCount=0;           
       }  
    }
    else  //C
    {
        if(nCount>0)
          Console.Write("\r\n"); //新行
          Console.Write(arry[i].Name);  //输出C
        Console.Write("\r\n"); //新行
         nCount=0;  
    }
}