• 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]);
                }
            }
         }

  • 相关阅读:
    对double数据类型的数据保留两位小数,并且进行四舍五入
    div位置设置
    每天一算法 -- (排序算法总结)
    SQL行转列
    设计模式的六大原则
    每天一算法 -- (插入排序)
    每天一算法 -- (选择排序)
    通用扩展函数--类型转换
    wcf和webservice
    Cookie的介绍及使用
  • 原文地址:https://www.cnblogs.com/zhouhb/p/1955280.html
Copyright © 2020-2023  润新知