WEB开发网
开发学院软件开发C语言 你知道C# 各种排序的编写及性能吗? 阅读

你知道C# 各种排序的编写及性能吗?

 2009-06-08 08:32:18 来源:WEB开发网   
核心提示:快毕业了,复习了一下C# 的数据结构的排序算法,你知道C# 各种排序的编写及性能吗?,其中主要有冒泡排序,直接插入排序,若前面记录的关键码大于后面记录的关键码,则将它们交换,简单选择排序和快速排序,在其中参考了老赵的CodeTimer和eaglet的性能计数器

快毕业了,复习了一下C# 的数据结构的排序算法,其中主要有冒泡排序,直接插入排序,简单选择排序和快速排序,在其中参考了老赵的CodeTimer和eaglet的性能计数器 ,特此感谢~~

好了  开始我们的排序算法吧 ~

在进行排序算法之前,我们先定义一个100位的随机数列,好进行各种排序算法的性能测试。

代码如下:

        /// <summary>
        /// 随机生成100位的数组
         /// </summary>
        /// <returns>返回生成数组</returns>
        public static int[] RandomArray()
        {
            Random ran = new Random();
            int[] arr = new int[100];
            int tem;
            for (int i = 0; i < 100; i++)
            {
                tem = ran.Next(1, 100);
                arr[i] = tem;
            }
            return arr;
        }

1.   冒泡排序 (Bubble Sort)

基础思想:将相邻的记录的关键码进行比较,若前面记录的关键码大于后面记录的关键码,则将它们交换,否则不交换。

代码如下:

    /// <summary>
    /// 冒泡排序算法
    /// </summary>
    public class BubbleSort : IAction
    {
        #region IAction 成员
        public void Action()
        {
            int[] array = Program.RandomArray();
            for (int a = 0; a < array.Length; a++)
            {
                int item = 0;
                for (int b = array.Length - 1; b > a; b--)
                {
                    if (array[b] < array[b - 1])
                    {
                        item = array[b];
                        array[b] = array[b - 1];
                        array[b - 1] = item;
                    }
                }
            }
        }
        #endregion
    }

1 2 3 4  下一页

Tags:知道 各种 排序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接