zoukankan      html  css  js  c++  java
  • C# 常用算法

    /// <summary>
        ///  1+2+3+....+n的递归算法
        /// </summary>
        /// <param name="i"></param>
        /// <returns></returns>
        public static int Process1(int i)
        {
            //计算1+2+3+4+...+100的值
    
            if (i == 0) return 1;
            if (i == 1) return 1;
            return Process1(i - 2) + Process1(i - 1);
        }
        /// <summary>
        /// 1+2+3+....+n的非递归算法
        /// </summary>
        /// <param name="i"></param>
        /// <returns></returns>
        public static int Process2(int i)
        {
            //计算1+2+3+4+...+100的值
    
            if (i == 0) return 0;
            return Process2(i - 1) + i;
        }
    
        /// <summary>
        /// 1-2+3-4+5-....+n的非递归算法
        /// </summary>
        /// <param name="isum"></param>
        /// <param name="itype"></param>
        /// <returns></returns>
        public static int Process0(int isum, int itype)
        {
            int sum = 0;
    
            for (int i = 1; i <= isum; i++)
            {
                if (itype == 1)
                {
                    if (i % 2 != 0)
                    {
                        sum += i;
                    }
                    else
                    {
                        sum += (-1) * i;
                    }
                }
                else
                {
                    sum += i;
                }
            }
            return sum;
        }
        /// <summary>
        /// 冒泡法排序
        /// </summary>
        /// <param name="arrLen"></param>
        public static void order1(ref int[] arrLen)
        {
            int temp;
            for (int i = 0; i < arrLen.Length; i++)//冒泡法排序
                for (int j = i + 1; j < arrLen.Length; j++)
                    if (arrLen[i] > arrLen[j])
                    {
                        temp = arrLen[i];
                        arrLen[i] = arrLen[j];
                        arrLen[j] = temp;
                    }
        }
    
        /// <summary>
        /// 冒泡法排序
        /// </summary>
        /// <param name="arrLen"></param>
        public static void order2(ref int[] arrLen)
        {
            for (int i = 0; i < arrLen.Length - 1; i++)
            {
                for (int j = 0; j < arrLen.Length - 1 - i; j++)
                {
                    if (arrLen[j] > arrLen[j + 1])
                    {
                        int temp = arrLen[j];
                        arrLen[j] = arrLen[j + 1];
                        arrLen[j + 1] = temp;
                    }
                }
            }
        }
    
        
        //折半查找、二分算法
        //数组必须按照一定的顺序
        //参数:最大,最小,目标(参数类型为整数)
        public static int BinarySearch(int min, int max, int num)
        {
            if (min == max) return -1;
            int mid = (min + max) / 2;
            if (a[mid] == num) return mid;
            else if (a[mid] < num)
            {
                return BinarySearch(mid + 1, max, num);
            }
            else
            {
                return BinarySearch(min, mid - 1, num);
            }
        }
        //折半查找、二分算法
        //非递归算法
        public static int BinarySearch_F(int num)
        {
            int min = 0;
            int max = 9;
            int mid;
            while (min <= max)
            {
                mid = (min + max) / 2;
                if (a[mid] == num) return mid;
                else if (a[mid] > num) max = mid - 1;
                else min = mid + 1;
            }
            return -1;
        }
    int a[10] ={1,5,10,13,17,23,65,77,81,93}
  • 相关阅读:
    20080619 SQL SERVER 输入 NULL 的快捷键
    20090406 Adobe的“此产品的许可已停止工作”错误的解决办法
    20080908 Office Powerpoint 2007 不能输入中文的解决办法
    20080831 ClearGertrude Blog Skin 's cnblogs_code class
    20080603 Facebook 平台正式开放
    20080519 安装 Microsoft SQL Server 2000 时提示 创建挂起的文件操作
    test
    Linux—fork函数学习笔记
    SOA的设计理念
    Why BCP connects to SQL Server instance which start with account of Network Service fail?
  • 原文地址:https://www.cnblogs.com/zhangchenliang/p/2131169.html
Copyright © 2011-2022 走看看