首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将项目作为参数传递给合并排序链表程序

将项目作为参数传递给合并排序链表程序
EN

Stack Overflow用户
提问于 2016-05-21 07:58:15
回答 1查看 48关注 0票数 0

大家好,我有一个关于我的程序测试的问题。如何在main()中填充参数;IList testas = new List();现在它是空的,程序正在运行而没有错误。任何答案都将是一个巨大的帮助,谢谢。

代码语言:javascript
复制
    static void Main(string[] args)
    {
        IList<Node> testas = new List<Node>();
        Sort(testas);

    }

        /// constructor used to assign default element to header

   public class Node
    {
        public int Element;
        public Node Link;

        // constructor
        public Node()
        {
            Element = 0;
            Link = null;
        }

        // parameterized constructor
        public Node(int theElement)
        {
           Element = theElement;
            Link = null;
        }

    }
    public static IList<Node> Sort(IList<Node> input)
    {
        if (input.Count <= 1) return input;

        var midpoint = input.Count / 2;
        IList<Node> left = new List<Node>();
        IList<Node> right = new List<Node>();

        for (var i = 0; i < midpoint; i++)
        {
            left.Add(input[i]);
        }

        for (var i = midpoint; i < input.Count; i++)
        {
            right.Add(input[i]);
        }

        left = Sort(left); //recursion
        right = Sort(right);
        return Merge(left, right);
    }
    private static IList<Node> Merge(IList<Node> left, IList<Node> right)
    {
        var result = new List<Node>();
        while (left.Any() && right.Any())
        {
            if (Convert.ToInt32(left.First()) < Convert.ToInt32(right.First()))
            {
                result.Add(left[0]);
                left.RemoveAt(0);
            }
            else
            {
                result.Add(right[0]);
                right.RemoveAt(0);
            }
        }

        while (left.Any())
        {
            result.Add(left[0]);
            left.RemoveAt(0);
        }
        while (right.Any())
        {
            result.Add(right[0]);
            right.RemoveAt(0);
        }

        return result;
    }
EN

回答 1

Stack Overflow用户

发布于 2016-05-21 08:06:45

代码语言:javascript
复制
string[] args

是一个空格分隔的输入,您必须在控制台上编写如下内容

代码语言:javascript
复制
> miprogram.exe value1 4 other_value

这将导致参数输入

代码语言:javascript
复制
args[0] wil be equals to "value1"
args[1] wil be equals to "4"
args[2] wil be equals to "other_value"

你可以选择角色,做所有的事情。

希望能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37357478

复制
相关文章

相似问题

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