控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

C#实现整数冒泡排序、选择排序

作者:佚名 出处:互联网 2011年02月16日 阅读:

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

 

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统