summaryrefslogtreecommitdiff
path: root/Assets/Algorithms/Algorithms.cs
blob: 31be4a80416efebf5a728de9e2012f7df5272977 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace AlgorithmCollection
{

    public static partial class Algorithms
    {
        public static void Swap<T>(ref T v1, ref T v2)
        {
            T temp = v1;
            v1 = v2;
            v2 = temp;
        }

        public static void Swap<T>(ref List<T> data, int i1, int i2)
        {
            T temp = data[i1];
            data[i1] = data[i2];
            data[i2] = temp;
        }

        // 阶乘
        public static int Factorial(int n)
        {
            if (n == 1)
                return 1;
            return n * Factorial(n - 1);
        }

    }

}