zoukankan      html  css  js  c++  java
  • 一个洗牌程序算法,随机交换位置【经典】

                int[] numbers=new int [20];     //建立一个数组
                Random rand=new Random (); //生成随机数
                string result="";                    //保存结果
                for (int i = 0; i < 20; i++)       //初始化数组
                    numbers[i] = i+1;
                for (int i = 0; i < 20; i++)          //洗牌
                  {
                    int temp = rand.Next(20);
                    int tempNumber = numbers[i ];
                    numbers[i] = numbers[temp ];
                    numbers[temp] =tempNumber ;
                  }
                for (int i = 0; i < 4; i++)          //这个用来排列你想要的那4个数
                    for (int j = 0; j < 4; j++)         
                    {                                           //你不需要就去掉它
                        int temp;
                        if (numbers[i] < numbers[j])
                        {
                            temp = numbers[j];
                            numbers[j] = numbers[i];
                            numbers[i] = temp;
                        }
                        else
                            continue;
                    }                                         //生成结果项
                        for (int i = 0; i < 4; i++)
                            result += "result" + i.ToString() + "==>" + numbers[i].ToString() + Environment.NewLine;
                          MessageBox.Show(result );     //输出结果


    这个思路挺好的,洗牌程序都应该是这样的 我感觉。
     
  • 相关阅读:
    asp.net 上传文件 显示进度条
    .net 无刷新的几种模式的开发
    使用ASP.NET 2.0提供的WebResource管理资源
    sqlserver2005 递归查询
    利用触发器对某个表的操作过程(删除、修改、插入)
    Sqlserver 先分页再查询
    关于左右滚动,控制某几列不动
    几个不错的SQl语句
    怎样用.net读出Excel的多个Sheet
    将DELPHI数据库连接写进INI配置文件中
  • 原文地址:https://www.cnblogs.com/zxjyuan/p/2084049.html
Copyright © 2011-2022 走看看