⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 program.cs

📁 这是asp.net^和Visual C++Sharp编写的串并口通讯的书籍 源代码
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

namespace _1
{
    // 策略,抽象类
    abstract class SortStrategy
    {
        // Methods
        abstract public void Sort(ArrayList list);
    }

    // 具体策略
    class QuickSort : SortStrategy
    {
        // Methods
        public override void Sort(ArrayList list)
        {
            list.Sort();
            Console.WriteLine("分类排序");
        }
    }

    // 具体策略
    class ShellSort : SortStrategy
    {
        // Methods
        public override void Sort(ArrayList list)
        {
            //list.ShellSort();
            Console.WriteLine("ShellSorted list ");
        }
    }

    // 具体策略
    class MergeSort : SortStrategy
    {
        // Methods
        public override void Sort(ArrayList list)
        {
            //list.MergeSort();
            Console.WriteLine("MergeSorted list ");
        }
    }

    // 策略模式的关系
    class SortedList
    {
        private ArrayList list = new ArrayList();
        private SortStrategy sortstrategy;
        public void SetSortStrategy(SortStrategy sortstrategy)
        {
            this.sortstrategy = sortstrategy;
        }
        public void Sort()
        {
            sortstrategy.Sort(list);
        }
        public void Add(string name)
        {
            list.Add(name);
        }
        public void Display()
        {
            foreach (string name in list)
                Console.WriteLine(" " + name);
        }
    }
    public class StrategyApp
    {
        public static void Main(string[] args)
        {
            SortedList studentRecords = new SortedList();
            studentRecords.Add("A");
            studentRecords.Add("AC");
            studentRecords.Add("AB");
            studentRecords.Add("C");
            studentRecords.Add("B");
            studentRecords.Add("张三");
            studentRecords.Add("李四");
            studentRecords.Add("安六");
            studentRecords.Add("王五");
            studentRecords.Add("赵二");
            studentRecords.SetSortStrategy(new QuickSort());
            studentRecords.Sort();
            studentRecords.Display();
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -