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;
}
原文:http://www.cnblogs.com/shenqiboy/p/3551528.html