尝试使用链接列表创建程序进行字符计数吗?

时间:2019-05-21 01:48:08

标签: c#

我正在尝试创建一个使用字符计数器的程序   链表,我很挣扎。我必须使用C#对此进行编程。如果有人可以看到解决方案,请告诉我。我在尝试使用链接列表和节点来显示字符计数结果时遇到麻烦。我想念什么?我需要添加什么?顺便说一下,我正在使用视觉作品来运行我的代码。

(第一个文件)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace ConsoleApp17
{
    class CharacterFrequency
    {
        private char ch;
        private int frequency;

        public char Ch
        {
            get { return ch; }
            set { ch = value; }
        }
        public int Frequency
        {
            get { return frequency; }
            set { frequency = value; }
        }
    }
}

(第二个文件)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace ConsoleApp17
{
    class Program
    {
        static void Main(string[] args)
        {
            int ch;

            const int InputFile = 0;
            const int OutputFile = 1;
            StreamReader reader = null;
            StreamWriter writer = null;
            //Declaring Linked List
            CharacterFrequency obj = new CharacterFrequency();
            LinkedList list = new LinkedList<CharacterFrequency>();

            //To read the characters in the Input File.
            reader = new StreamReader(File.OpenRead(args[InputFile]));
            //To insert text through the loop.
            while ((ch = reader.Read()) != -1)
            {
                //Creating my linked list.
                CharacterFrequency cf = LinkedList<CharacterFrequency>
                list(ch);
                //Creating my nodes.
                LinkedListNode<CharacterFrequency> node;
                node = list.Find(cf);
                //Conditions
                if (node != null)
                {
                    node.Value.Add(cf, 1); //Increase in increments.
                }
                else
                {
                    list.AddLast(cf); //If it is not on the list yet, add it.
                }
            }
            reader.Close();
            //Create my output file.
            writer = new StreamWriter(File.OpenWrite(args[OutputFile]));
            //Display on prompt.
            foreach (CharacterFrequency cf in list)
                writer.WriteLine(cf.ToString());
            writer.Close();
        }
    }
}

0 个答案:

没有答案