首页 > 代码库 > 用C#写的几种排序算法

用C#写的几种排序算法

1、冒泡法排序

class Program
    {  //冒泡法排序
        public static void sort(int[] list)
        {
            int i, j, temp;
            j = 1;
            while (j < list.Length)
            {
                for (i = 0; i < list.Length-j; i++)
                {
                    if (list[i] > list[i + 1])
                    {
                        temp = list[i];
                        list[i] = list[i + 1];
                        list[i + 1] = temp;
                    }

                }
                j++;
            }
        }
        static void Main()
        {
            int[] array = new int[] { 1, 3, 3, 6, 10, 45, 66, 2, 67, 12, 64, 75, 33, 47 };
            sort(array);
            foreach (int b in array)
            {
               Console.Write(b+",");
            }
            Console.ReadKey();
        }
       
    }
2、选择法排序
class Program
    {
        //选择法排序
        public static void sort(int[] list)
        {
            int min;
            for (int i = 0; i < list.Length - 1; i++)
            {
                min = i;
                for (int j = i + 1; j < list.Length; j++)
                {
                    if(list[j]<list[min])
                    min=j;
                }
                int t=list[min];
                list[min] = list[i];
                list[i] = t;
            }
        }
       static void Main()
        {
            int[] array = new int[] { 1, 3, 3, 6, 10, 45, 66, 2, 67, 12, 64, 75, 33, 47 };
            sort(array);
            foreach (int b in array)
            {
                Console.Write(b+",");
            }
            Console.ReadKey();
        }
       
    }
3、插入法排序
class Program
    {
        public static void Sort(int[] list)
        {
            for (int i = 1; i < list.Length; i++)
            {
                int t = list[i];
                int j = i;
                while ((j > 0) && (list[j - 1] > t))
                {
                    list[j] = list[j - 1];
                    j--;
                }
                list[j] = t;
            }
        }
        static void Main()
        {
            int[] array = new int[] { 1, 3, 6, 8, 10, 45, 66, 2, 67, 12, 64, 75, 33, 47 };
            Sort(array);
            foreach (int b in array)
            {
                Console.Write(b + ",");
            }
            Console.ReadKey();
        }
    }