首页 > 其他 > 详细

面试题(C#算法编程题)

时间:2014-02-17 03:02:35      阅读:463      评论:0      收藏:0      [点我收藏+]

1>用C#写一段选择排序算法,要求用自己的编程风格。
答:private int min;
    public void xuanZhe(int[] list)//选择排序
    {
        for (int i = 0; i < list.Length - 1; i++)
        {
            min = i;
            for (int j = i + 1; j < list.Length; j++)
            {
                if (list[j] < list[min])
                    min = j;
            }
            int t = list[min];

            list[min] = list[i];

            list[i] = t;
        }
    }

2>一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现。
private static int Digui(int j)
{
if (j<=0)
return 0;
if (j == 1)
return 1;
return Digui(j-1) + Digui(j - 2);
}

1+2………………n
private static int Digui1(int j)
{
if (j == 0)
return 0;
return Digui1(j - 1) + j;
}

3>20个随机数列
Dictionary<string, int[]> dict = new Dictionary<string, int[]>();

            ArrayList newArray;
            int[] intArray;
            Random rd;

            while (dict.Count < 20)
            {
                intArray = new int[5];
                rd = new Random();
                newArray = new ArrayList();
                while (newArray.Count < 5)
                {
                    int tempNumber = rd.Next(0, 10);
                    if (!newArray.Contains(tempNumber))
                        newArray.Add(tempNumber);
                }
                string str=ArrayConvertToString(newArray);
                for (int i = 0; i < 5; i++)
                {
                    intArray[i] = (int)newArray[i];
                }
                if (!dict.ContainsKey(str))
                {
                    dict.Add(str, intArray);
                }
            }
            
            foreach (var l in dict)
            {
                Console.WriteLine(l.Key);
            }
            Console.WriteLine("@@" + dict.Keys.Max() + "@@" + dict.Keys.Min());
            Console.ReadKey();
        }

        static public  string ArrayConvertToString(ArrayList al)
        {
            string strTemp=string.Empty;
            foreach (var aList in al)
            {
                strTemp += aList;
            }
            return strTemp;
        }

面试题(C#算法编程题)

原文:http://www.cnblogs.com/shenqiboy/p/3551528.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!