c#编程实现List、Queue、Stack、Dictionary这四个泛型集合中添加、删除、遍历输出元素的操作。

Dictionary.cs

//编程实现Dictionary泛型集合中添加、删除、遍历输出元素的操作

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

namespace ConsoleApp5
{
    class Dictionary<T1,T2>
    {
        T1[] key;  //键
        T2[] value;//值
        int pos;

        public Dictionary(int size)//初始化
        {
            key = new T1[size];
            value = new T2[size];
            pos = 0;
        }

        public void Add(T1 ke,T2 val)//增加键值对
        {
            key[pos] = ke;
            value[pos] = val;
            pos++;
        }

        public string Remove()//删除键值对
        {
            string re = key[pos-1].ToString();
            re += "    ";
            re += value[pos-1].ToString();
            pos--;
            return re;
        }

        public void Display()//遍历
        {
            for (int i = 0; i < pos; i++)
            { Console.WriteLine("{0}    {1}",key[i],value[i]); }
        }
    }
}

List.cs

//编程实现List泛型集合中添加、删除、遍历输出元素的操作

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

namespace ConsoleApp5
{
    class List<T>
    {
        private T[] l;
        int pos;

        public List(int size)
        {
            l = new T[size];
            pos = 0;
        }

        public void Add(T val)//增加元素
        {
            l[pos] = val;
            pos++;
        }

        public T Remove()//删除元素
        {
            T r = l[pos-1];
            pos--;
            return r;
        }

        public void Display()//遍历
        {
            for (int i = 0; i < pos; i++)
            { Console.WriteLine(l[i]); }
        }
    }
}

Queue.cs

//编程实现Queue泛型集合中添加、删除、遍历输出元素的操作

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

namespace ConsoleApp5
{
    class Quene<T>
    {
        private T[] q;
        int pos;

        public Quene(int size)
        {
            q = new T[size];
            pos = 0;
        }

        public void Enqueue(T val)//进队列
        {
            q[pos] = val;
            pos++;
        }

        public T Dequeue()//出队列
        {
            T r = q[0];
            for (int i = 0; i < pos - 1; ++i)
                q[i] = q[i + 1];

            pos--;
            return r;
        }

        public void Display()//遍历
        {
            for(int i = 0;i < pos; i++)
            {Console.WriteLine(q[i]);}
        }
    }
}

Stack.cs

//编程实现Stack泛型集合中添加、删除、遍历输出元素的操作

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

namespace ConsoleApp5
{
    class Stack<T>
    {
        private T[] s;
        int pos;

        public Stack(int size)
        {
            s = new T[size];
            pos = 0;
        }

        public void Push(T val)//进栈
        {
            s[pos] = val;
            pos++;
        }

        public T Pop()//出栈
        {
            pos--;
            return s[pos];
        }

        public void Display()//遍历
        {
            for (int i = pos - 1; i >= 0; --i)
            {Console.WriteLine(s[i]);}
        }
    }
}

Program.cs

//编程实现List、Queue、Stack、Dictionary这四个泛型集合中添加、删除、遍历输出元素的操作

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

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            //链表
            List<int> l = new List<int>(2);
            l.Add(1);
            l.Add(2);
            Console.WriteLine("链表里面的元素:");
            l.Display();
            Console.WriteLine("删除的元素:");
            Console.WriteLine(l.Remove());
            Console.WriteLine("链表里面的元素:");
            l.Display();

            //队列
            Quene<int> q = new Quene<int>(2);
            q.Enqueue(1);
            q.Enqueue(2);
            Console.WriteLine("\n\n队列里面的元素:");
            q.Display();
            Console.WriteLine("删除元素:");
            Console.WriteLine(q.Dequeue());
            Console.WriteLine(q.Dequeue());
            Console.WriteLine("队列里面的元素:");
            q.Display();

            //栈
            Stack<int> s = new Stack<int>(2);
            s.Push(1);
            s.Push(2);
            Console.WriteLine("\n\n栈里面的元素:");
            s.Display();
            Console.WriteLine("出栈元素:");
            Console.WriteLine(s.Pop());
            Console.WriteLine("栈里面的元素:");
            s.Display();

            //字典
            Dictionary<int,string> d = new Dictionary<int,string>(2);
            d.Add(1,"one");
            d.Add(2,"two");
            Console.WriteLine("\n\n字典里面的元素:");
            d.Display();
            Console.WriteLine("删除元素:");
            Console.WriteLine(d.Remove());
            Console.WriteLine("字典里面的元素:");
            d.Display();
        }
    }
}
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值