asp.net数组随机排序三种实现方法

通常4个人排是这样,以a为例,每一天上一个中班,每二天上一个早班和一个晚班,每三天休息,每四天继续上中班。这样就是三个人在轮班,多出的一个人在休月假,二个轮次后休假的人代替其中一人值班。
    以下是一个随机排班的算法,仅供参考。
            //按顺序排班,y代表日期,x代表班次 
        

 代码如下 复制代码

    string str = new string { "张","王","赵","李"};
            int b = 0;

            string  abc=new string;
            for(int y=0;y<30;y++)
            {
                for (int x = 0; x < 3; x++)
                {
                    abc = str;
                    b++;
                }
            }

            //以下随机排序可保证每个人的值班次数不变
            Random ran = new Random();
            string temp;
            int x1, y1, x2, y2;
            for (int x = 0; x < 100; x++)
            {
                x1 = ran.Next(2);
                x2 = ran.Next(2);
                y1 = ran.Next(29);
                y2 = ran.Next(29);
                temp = abc;
                abc = abc;
                abc = temp;
            }

实例二

每次查询出来那个数组  ,数组里面数据的顺序都不一样

 代码如下 复制代码
int[] array = new int[10];
            for (int i = 0; i < 10; i++)
            {
                array[i] = i + 1;
            }
            int len = array.Length;
            Random rnd = new Random();
            for (int j = 0; j < len; j++)
            {
                int pos = rnd.Next(len);
                int temp = array[pos];
                array[pos] = array[j];
                array[j] = temp;
            }
            string sortStr = "";
            for (int i = 0; i < len;i++)
            {
                sortStr += array[i] + ",";
            }
            MessageBox.Show(sortStr);

数组的随机排序,也就是把一个数组的元素顺序打乱,例如洗牌。

 

 代码如下 复制代码

public static T[] RandomSort<T>(T[] array)
        ...{
            int len = array.Length;
            List<int> list = new List<int>();
            T[] ret=new T[len];
            Random rand = new Random();
            int i = 0;
            while (list.Count < len)
            ...{
                int iter = rand.Next(0, len);
                if (!list.Contains(iter))
                ...{
                    list.Add(iter);
                    ret[i] = array[iter];
                    i++;
                }
               
            }
            return ret;
        }

调用例:
static void Main()
        ...{
            string [] aaa =...{ "3", "1", "7", "5", "4", "2", "6" };
            string [] bbb =RandomSort(aaa);
            for (int i = 0; i < 7; i++) Console.WriteLine(bbb[i]);
            Console.ReadLine();
}

时间: 2024-07-30 12:03:45

asp.net数组随机排序三种实现方法的相关文章

php数组随机排序几种方法

php 中可以使用shuffle函数实现数组随机排序功能.  代码如下 复制代码 <?php $test=array(); $test[]=array(         'title'=>'Q1.较为科学的安全期算法是什么?',         ); $test[]=array(         'title'=>'Q2.较为科学的安全期算法是什么?',         ); $test[]=array(         'title'=>'Q3.较为科学的安全期算法是什么?',

较长数据无法在Asp页面中取出的三种解决方法

较长text型数据无法在Asp页面中取出的解决办法 在Asp页面中向记录集取长text型数据时,出现如下错误现象时: Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21' Errors occurred 可有以下三种解决办法: (一)使用rs.open sql,conn,1,3方式打开记录集 (二)将该列放在第一列取出,比如comment里存放有较长的text内容,取记录集内容的时候,先来个comment=rs("comment&quo

JavaScript学习笔记之数组随机排序_javascript技巧

推荐阅读:JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组的增.删.改.查 JavaScript中提供了sort()和reverse()方法对数组项重新排序.但很多时候这两个方法无法满足我们实际业务的需求,比如说扑克牌游戏中的随机洗牌. 在这篇文章一起来学习如何完成上面这个示例的效果,以及一些有关于数组随机排序的相关知识. 在网上查了一下有关于数组随机排序的相关资料,都看到了Math.random()的身影.打开浏览器控制器,输入: Math.random() 从图

JS随机洗牌算法之数组随机排序_javascript技巧

推荐阅读:JavaScript学习笔记之数组的增.删.改.查 JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组随机排序 洗牌算法是一个比较形象的术语,本质上让一个数组内的元素随机排列.举例来说,我们有一个如下图所示的数组,数组长度为 9,数组内元素的值顺次分别是 1~9: 从上面这个数组入手,我们要做的就是打乱数组内元素的顺序: 代码实现 维基百科上的 Fisher–Yates shuffle 词条对洗牌算法做了详细介绍,下面演示的算法也是基于其中的理论编写的: A

关于JavaScript的数组随机排序

JavaScript 开发中有时会遇到要将一个数组随机排序(shuffle)的需求,一个常见的写法是这样: function shuffle(arr) {       arr.sort(function () {          return Math.random() - 0.5;       });    }  或者使用更简洁的 ES6 的写法: function shuffle(arr) {        arr.sort(() => Math.random() - 0.5);    }

JavaScript实现数组随机排序的方法

  本文实例讲述了JavaScript实现数组随机排序的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 function Shuffle(o) { for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x); return o; }; 使用方法: ? 1 2 3 4 5 6 7 8 var testArray = [1,2,3,4,5];

php数组随机排序实现方法

 本文实例讲述了php数组随机排序实现方法.分享给大家供大家参考.具体实现方法如下:   1 2 3 4 5 <?php $array = array('A','2','3','4','5','6','7','8','9','10','J','Q','K'); shuffle($array); //随机排序数组 print_r($array); //输出数组 ?> 运行结果如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Array ( [0] =>

ASP.NET上传文件的三种基本方法

 ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关键代码: [html] view plaincopy <form id="form1" runat="server">   <asp:FileUpload ID="FileUpload1" runat="server&q

JavaScript实现数组随机排序的方法_javascript技巧

本文实例讲述了JavaScript实现数组随机排序的方法.分享给大家供大家参考.具体实现方法如下: function Shuffle(o) { for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x); return o; }; 使用方法: var testArray = [1,2,3,4,5]; Shuffle(testArray); // jQuery