zoukankan      html  css  js  c++  java
  • C#实现整数冒泡排序、选择排序

            首先定义排序过程中要用到的Swap方法,用于交换两个整数的值:

            /// <summary>
            /// 交换两个整数的值
            /// </summary>
            /// <param name="aa">数1</param>
            /// <param name="bb">数2</param>
            private static void Swap(ref int aa,ref int bb)
            {
                int temp;
                temp = bb;
                bb = aa;
                aa = temp;
            }

       // 冒泡排序
       class Program
        {
            static void Main(string[] args)
            {
                int[] a={1,2,5,7,9,8,10,6,4,3};
                BubbleSort(a);
                for (int i = 0; i < a.Length; i++)
                    Console.Write(a[i] + " ");
                Console.ReadKey();
            }
            /// <summary>
            /// 冒泡排序
            /// </summary>
            /// <param name="a">传入要排序的数组</param>
            private static void BubbleSort(int[] a)
            {
                for (int i = 0; i < a.Length - 1; i++)
                {
                    for (int j = 0; j < a.Length - i - 1; j++)
                    {
                        if (a[j] < a[j + 1])//降序排列
                        {
                            Swap(ref a[j], ref a[j + 1]);
                        }
                    }
                }
            }
       }

     //选择排序
     class Program
     {
            static void Main(string[] args)
            {
                int[] a = { 1, 2,  4, 3,6,5,7,9,8 };
                SelectionSort(a);
                for (int i = 0; i < a.Length; i++)
                    Console.Write(a[i] + " ");
                Console.ReadKey();
            }
            /// <summary>
            /// 选择排序
            /// </summary>
            /// <param name="a">传入要排序的数组</param>
            private static void SelectionSort(int[] a)
            {
                int k;
                for (int i = 0; i < a.Length - 1; i++)
                {
                    k = i;
                    for (int j = i+1; j < a.Length ; j++)
                    {
                        if (a[j] < a[k])//升序排列
                        {
                            k = j;
                          
                        }
                    }
                    if(k!=i)
                        Swap(ref a[i], ref a[k]);
                }
            }
         }

  • 相关阅读:
    nodeJS + webStrome
    js获取浏览器窗口属性
    理解JavaScript中的arguments,callee,caller,apply
    Java对象及对象引用变量
    Transform-style和Perspective属性
    线程同步的几种方式
    SQL高级查询——50句查询(含答案)
    接口、抽象类的区别与共同点
    JAVA异常架构图及常见面试题
    【转】JVM介绍
  • 原文地址:https://www.cnblogs.com/zhouhb/p/1955280.html
Copyright © 2011-2022 走看看