06 June 2016

Sort Delegate ComparisonHandler Sắp xếp mảng tăng giảm C#

Delegate Sắp xếp mảng tăng giảm 
Regex C# 2016
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SortDelegateDemo
{
    public delegate bool ComparisonHandler(int first, int second);
    class Program
    {
        public static void BubbleSort(int[] items, ComparisonHandler comparisonMethod)
        {
            int temp;
            if (items == null)
            {
                return;
            }
            for (int i = 0; i < items.Length - 1; i++)
            {
                for (int j = i + 1; j < items.Length; j++)
                {
                    if (comparisonMethod(items[i] , items[j])) //Tăng dần or Giảm dần
                    {
                        temp = items[i];   //temp là biến tạm lưu giá trị
                        items[i] = items[j];  //thực hiện đổi chỗ
                        items[j] = temp;   //thực hiện lưu vào mảng thứ j
                    }
                }
            }
        }
        public static bool GreaterThan(int first,int second)
        {
            return first > second;
        }
        public static bool LessThan(int first,int second)
        {
            return first < second;
        }
        static void Main(string[] args)
        {
            int[] items = { 4, 2, 8, 6 };
            ComparisonHandler greater = new ComparisonHandler(GreaterThan);
            ComparisonHandler less = new ComparisonHandler(LessThan);
            BubbleSort(items, greater);
            foreach (int i in items)
            {
                Console.WriteLine(i);
            }
            Console.Read();
        }
    }
}

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang