求解:c#

来源:百度知道 编辑:UC知道 时间:2024/06/27 19:16:04
求算法,有N个数字如:2 19 0 12 18 23 21 24 54。。。
现在我有个随机数,当这个随机数是18时,变成这样:18 2 19 0 12 23 21 24 54。。
也就是随到哪个数哪个数就排第一,其他的依次降一级
前面没说清楚,主要实现如下功能:
数据库中很多url数据,需要判断点入本站的来路,也就是从哪个网站点入本站,如果数据库中存在此网站,则显示到第一。。。

List<int> nums = new List<int>() { 1,2,3,4,5};
while (true)
{
Random r = new Random();
int rNum = r.Next(1, 5);

if (nums.Contains(rNum))
{
nums.Remove(rNum);
nums.Insert(rNum, 0);
Console.WriteLine("随机数是:" + rNum.ToString());
foreach(int item in nums){Console.WriteLine(item);}
}
}

这不难啊,这些数字在一个int[]里,取出来随机数 去数组里遍历,找到了之后把这个数放在temp变量里,然后在这个数的index之前的每个数 index=index+1,然后把index=0的置成这个数
代码:
private void Button1_Click(object sender, EventArgs e)
{
t1.Text = "";
int[] a ={ 0, 1, 2, 3, 4, 5, 6, 7 };
Random r = new Random();
int ra = r.Next(8);
int index = 0;

label1.Text = "随机数是:" + ra.ToString();

//判断随机数
for (int i = 0; i < 8; i++)
{
if (a[i] == ra)
{
index = i;
break;
}
}

//移位
for (int i = index; i >0; i--)
{
a[i]