首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将序列元素划分成对

将序列元素划分成对
EN

Stack Overflow用户
提问于 2010-06-07 05:14:55
回答 2查看 277关注 0票数 1

我有16个元素的序列: 1,2,3,.,16 (或2*n元素)。序列元素总是从1到长度(序列),即4个元素的序列是1,2,3,4。

编辑:第一个序列元素总是= 1,第二个序列元素= 2,第三个序列元素=3,等等。这是一个游戏“找到一对图片”

我想写一个将元素分成成对的算法。例如,1-15 2-16 3-13 4-9 5-14 6-10 7-11 8-12

PS:不,请:) vs2005

编辑:正如我所见,我的问题如此简单,所以没有人能回答它:)或者每个人都害怕什么?

EN

回答 2

Stack Overflow用户

发布于 2010-06-07 05:49:19

那这个呢?

代码语言:javascript
运行
复制
class Program
{
    static void Main(string[] args)
    {
        int size = 8;

        List<int> tmpList = new List<int>();

        for (int i = size; i <= size * 2; i++)
        {
            tmpList.Add(i);
        }

        List<Pair> result = new List<Pair>();

        Random r = new Random();

        for (int i = 1; i <= size; i++)
        {
            Pair pair = new Pair() { a = i, b = PopRandom(r, tmpList) };
            result.Add(pair);
        }

        foreach (Pair p in result)
        {
            Console.WriteLine("{0} - {1}", p.a, p.b);
        }
    }

    static private int PopRandom(Random r, List<int> list)
    {
        int i = r.Next(0, list.Count);
        int result = list[i];

        list.RemoveAt(i);

        return result;
    }

    struct Pair
    {
        public int a;
        public int b;
    }
}

UPD:这是为.net 2.0目标平台UPD 2:从PopRandom()移出的随机实例成功编译的

票数 0
EN

Stack Overflow用户

发布于 2010-06-07 06:40:26

如果没有选择标准的话,就拿其他的.

代码语言:javascript
运行
复制
var result = new List<Tuple<int,int>>();

for (int i = 1; i < size; i+=2 )
{
   var pair = new Tuple.Create(i,i+1);
   result.Add(pair);   
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2987205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档