zoukankan      html  css  js  c++  java
  • C# 排序

      private void button1_Click(object sender, EventArgs e)
            {
                //需要的数据是 销售订单, 客户名称,项目名称
                List<DateTime> dateTimes = new List<DateTime>();
                for (int i = 0; i < 5; i++)
                {
                    dateTimes.Add(DateTime.Now.AddHours(-i));
                }
    
    
    
                //打乱 集合 次序
                Random rand = new Random();
                for (int i = dateTimes.Count - 1; i > 0; i--)
                {
                    int p = rand.Next(i); //1-5 为9个数. 索引为0-8; //随机数 不能去该上界
                    DateTime temp = dateTimes[p];//随机取得存为临时变量
                    dateTimes[p] = dateTimes[i];//把当前索引 和随机索引 的值替换. (因为取不到上界(当前索引))
                    dateTimes[i] = temp;
                }
                dateTimes.Sort(); //排序
    
    
                int[] arra = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
                for (int i = arra.Length - 1; i > 0; i--)
                {
                    int p = rand.Next(i); //1-9 为9个数. 索引为0-8; //随机数 不能去该上界
                    int temp = arra[p];//随机取得存为临时变量
                    arra[p] = arra[i];//把当前索引 和随机索引 的值替换. (因为取不到上界(当前索引))
                    arra[i] = temp;
    
                }
                for (int i = 0; i < arra.Length; i++)
                {
                    Console.WriteLine(arra[i]);
                }
    
            }
      private void button1_Click(object sender, EventArgs e)
            {
                //需要的数据是 销售订单, 客户名称,项目名称
                List<temp1> dateTimes = new List<temp1>();
                for (int i = 0; i < 5; i++)
                {
                    dateTimes.Add(new temp1() { 创建时间 = DateTime.Now.AddHours(-i), 结束时间 = DateTime.Now.AddHours((-i*2)) });
                }
    
                //打乱 集合 次序
                Random rand = new Random();
                for (int i = dateTimes.Count - 1; i > 0; i--)
                {
                    int p = rand.Next(i); //1-5 为9个数. 索引为0-8; //随机数 不能去该上界
                    temp1 temp = dateTimes[p];//随机取得存为临时变量
                    dateTimes[p] = dateTimes[i];//把当前索引 和随机索引 的值替换. (因为取不到上界(当前索引))
                    dateTimes[i] = temp;
                }
    
                var data =  dateTimes.OrderBy(n=>n.创建时间).ToList(); //排序 ; 默认升序
    
                var data0 = dateTimes.OrderByDescending(n => n.结束时间).ToList(); //排序 ; 降序
    }
    获得 两时间相差 天数  
            
      temp1 mode = new temp1();
                mode.创建时间 = DateTime.Now.AddDays((-2));
                int days = (DateTime.Now - mode.创建时间).Days;

    --新手最爱 之冒泡排序

      private void button1_Click(object sender, EventArgs e)
            {
                int[] a = new int[] { 1, 5, 4, 3, 3, 2 };
                //从小到大排序
                int temp = 0;
    
                int i, j; bool flag = true;
                for (i = 0; i < a.Length; i++)
                {
                    flag = true;
                    for (j = 0; j < a.Length - 1; j++) //这边-1 就不用判断j+1 超出索引了,
                    {
                        if (a[j] > a[j + 1]) //多循环一次;
                        {
                            temp = a[j];
                            a[j] = a[j + 1];
                            a[j + 1] = temp;
                            flag = false;
                        }
                    }
                    if(flag)
                    {
                        break;
                    }
                }
    --

     //插入排序
            private void button2_Click(object sender, EventArgs e)
            {
    
                int[] a = new int[] { 1, 5, 4, 3, 3, 2 };
    
                for (int i = 1; i <a.Length; i++)
                {
                    int temp = a[i];  //当前值
                    int k = i - 1;
    
                    while (k >= 0 && a[k] > temp) //前一个数 大于 当前数
                    {
                        k--;
                    }
                    //腾出位置插进去,要插的位置是 k + 1;
                    for (int j = i; j > k + 1; j--)
                    {
                        a[j] = a[j - 1];
                    }
    
                    //插进去
                    a[k + 1] = temp;
                }
            }
            //
            /*
           插入排序,比如 原始数据是, 154332
           找到当前值得左边值,大于当前值,
           把左边值赋值给当前值, 当前值给左边值,
            结果为 145332
            找到当前值得左边值,大于当前值,
            左边大于3得有45,找到4得索引,把5给3,4给5,3给4;
            结果为 134532
            找到当前值得左边值,大于当前值,
            左边大于3得有45,找到4得索引,把5给3,4给5,3给4;
            结果为 133452
            找到当前值得左边值,大于当前值,
            左边大于当前值的有3345, 找到3的索引(最左边的3)
            把 3345 右移一位,2给3(最左边的3)
            结果为  123345
             */
    
    
    
     出处  https://www.cnblogs.com/itsharehome/p/11058010.html
  • 相关阅读:
    RabbitMq学习4-发布/订阅(Publish/Subscribe)
    RabbitMq学习3-工作队列(Work queues)
    《大型网站技术架构》-读书笔记七:安全架构
    RabbitMq学习2-php命令行模式测试rabbitmq
    《大型网站技术架构》-读书笔记六:可扩展架构
    RabbitMq学习1-介绍、安装和配置
    《大型网站技术架构》-读书笔记五:伸缩性架构
    C#构建树形数据结构
    数据结构和算法(一)概念
    C# 简介
  • 原文地址:https://www.cnblogs.com/enych/p/10493671.html
Copyright © 2011-2022 走看看