• 选择排序,冒泡排序,直接插入排序


    View Code
     protected void SelectSort(int[] array)
              {
                  int tmp;//暂存要交换的数据
                  int t;//交换数据的位置
                  for (int i = 0; i < array.Length; i++)
                   {
                         t = i;
                         for (int j = i + 1; j < array.Length; j++)
                         {
                             if (array[j] < array[t])
                             {
                                 t = j;
                             }
                         }
                    tmp = array[i];
                    array[i] = array[t];
                    array[t] = tmp;
                 }
             }
    
            /// <summary>
            /// 选择排序
            /// </summary>
            public void SmallToarge()
            {
                int temp = 0;
                int[] iArry = new int[] { 49, 5, 13, 6, 10, 55, 99};
                for (int i = 0; i < iArry.Length; i++)
                {
                    for (int j = i+1; j < iArry.Length; j++)
                    {
                        if (iArry[i] > iArry[j])
                        {  //A-----B  C---A  B-----C
                            temp = iArry[j]; //这里实现互换如:A B C三个瓶子 B是空瓶 A给B(A空,B满)C 给A(C空A满)B给C(B空C满)实现交换
                            iArry[j] = iArry[i];
                            iArry[i] = temp;
                        }
                    }
                }
                  //输出
                for (int f = 0; f < iArry.Length; f++)
                {
                    Response.Write(iArry[f]+"<br/>");
                }
    
            }
    
            /// <summary>
            /// 冒泡排序
            /// </summary>
            /// <param name="list"></param>
            public void sort(int[] list)
            {
                int i, j, temp; //定义变量
            
                j = 1;//赋初始值
                while (j < list.Length)
                {
                   
                    for (i = 0; i < list.Length - j; i++) //因为i的比较项是 i 和i+1 一个数组有6项那么i的最大值是5
                    {
                       // int[] iArry = new int[] { 49, 5, 13, 6, 10, 55, 99 };
                        //49>5 49>13 49>6 49>10 49<55 55<99
                        //第一个和第二个比较,第二个和第三个比较,3和4,4和5,5和6,6和7
                        //int[] iArry = new int[] {10,9,8,7,6 };
                        //10>9 10>8 10>7 10>6 所以10是最大的
                        if (list[i] > list[i + 1]) //加以加较
                        {
                           
                            temp = list[i];
                            list[i] = list[i + 1];
                            list[i + 1] = temp;
                        }
                    }
                    j++; //每加一次少比较一项
                }
                //输出
                for (int f = 0; f < list.Length; f++)
                {
                    Response.Write(list[f] + "<br/>");
                }
            }
            /// <summary>
            /// 冒泡排序2
            /// </summary>
            public void sortTwo()
            { 
               int i,j,t;
               int[]array={4,2,6,9,22,1,100};
               for (i = 0; i < array.Length - 1; i++)
                {
                    for (j = 0; j < array.Length - i - 1; j++)
                  {
                      if (array[j] > array[j + 1])
                      {
                          t = array[j];
                          array[j] = array[j + 1];
                          array[j + 1] = t;
                       }
                    }
                }
                //输出
               for (int f = 0; f < array.Length; f++)
               {
                   Response.Write(array[f] + "<br/>");
               }
            }
           
            /// <summary>
            /// 直接插入排序
            /// </summary>
            /// <param name="array"></param>
             public  void InsertSort(int[] array)
             {
                 int i, j;
                 int temp;
                 for (i =  1; i < array.Length; i++)
                 {
                     temp = array[i];
                     j = i - 1;
                     //与已排序的数逐一比较, 大于temp时, 该数移后
                     while ((j >= 0) && (array[j] > temp))
                     {
                         array[j + 1] = array[j];
                         j--;
                     }
                     array[j + 1] = temp;
                }
                 for (int f = 0; f < array.Length; f++)
                 {
                     Response.Write(array[f] + "<br/>");
                 }
            }
  • 相关阅读:
    一目了然卷积神经网络
    浅析 MVC Pattern
    程序员读书清单
    “数据中台”的再思考
    火锅、报表与数据库的故事
    从NoSQL到NewSQL,谈交易型分布式数据库建设要点
    从架构特点到功能缺陷,重新认识分析型分布式数据库
    YCSB测试HBase远程完全分布式集群
    NoSQL性能测试工具YCSB-Running a Workload
    再谈数据库事务隔离性
  • 原文地址:https://www.cnblogs.com/yzenet/p/2729557.html
Copyright © 2020-2023  润新知