C#,字符串匹配(模式搜索)原生(Native)算法的源代码

算法没什么可说的,就是一段一段匹配呗。

运行效果:

C#,字符串匹配(模式搜索)原生(Native)算法的源代码_第1张图片

 源代码:

using System;
using System.Collections;
using System.Collections.Generic;

namespace Legalsoft.Truffer.Algorithm
{
    ///


    /// 字符串匹配(模式搜索)算法集锦
    ///

    public static partial class PatternSearch
    {
        ///
        /// 字符串匹配的暴力算法(1)
        ///

        ///
        ///
        ///
        public static List NativeSearch_Original(string text, string pattern)
        {
            int pt = pattern.Length;
            List matchs = new List();
            for (int i = 0; i < (text.Length - pt); i++)
            {
                if (text.Substring(i, pt) == pattern)
                {
                    matchs.Add(i);
                }
            }
            return matchs;
        }

        ///


        /// 字符串匹配的暴力算法(2)
        ///

        ///
        ///
        ///
        public static List Native_Search(string text, string pattern)
        {
            List matchs = new List();

            int M = pattern.Length;
            int N = text.Length;
            int S = N - M;

            if (S <= 0) return matchs;
            for (int i = 0; i <= S; i++)
            {
                int j = 0;
                while (j < M)
                {
                    if (text[i + j] != pattern[j])
                    {
                        break;
                    }
                    j++;
                }

                if (j == M)
                {
                    matchs.Add(i);
                }
            }

            return matchs;
        }
    }
}

--------------================--------------------

POWER BY TRUFFER.CN

using System;
using System.Collections;
using System.Collections.Generic;

namespace Legalsoft.Truffer.Algorithm
{
    /// 
    /// 字符串匹配(模式搜索)算法集锦
    /// 
    public static partial class PatternSearch
    {
        /// 
        /// 字符串匹配的暴力算法(1)
        /// 
        /// 
        /// 
        /// 
        public static List NativeSearch_Original(string text, string pattern)
        {
            int pt = pattern.Length;
            List matchs = new List();
            for (int i = 0; i < (text.Length - pt); i++)
            {
                if (text.Substring(i, pt) == pattern)
                {
                    matchs.Add(i);
                }
            }
            return matchs;
        }

        /// 
        /// 字符串匹配的暴力算法(2)
        /// 
        /// 
        /// 
        /// 
        public static List Native_Search(string text, string pattern)
        {
            List matchs = new List();

            int M = pattern.Length;
            int N = text.Length;
            int S = N - M;

            if (S <= 0) return matchs;
            for (int i = 0; i <= S; i++)
            {
                int j = 0;
                while (j < M)
                {
                    if (text[i + j] != pattern[j])
                    {
                        break;
                    }
                    j++;
                }

                if (j == M)
                {
                    matchs.Add(i);
                }
            }

            return matchs;
        }
    }
}

你可能感兴趣的:(C#算法演义,Algorithm,Recipes,C#,算法,教程,Native)