冒泡排序算法

冒泡排序算法

 

     public static void maopao(int [] array)
        {
            int temp = 0;
            //打印出原數組的順序
            Console.WriteLine("原數組順序為:");
            foreach (var item in array)
            {
                Console.Write(item + "\t");
            }

            //實現冒泡排序
            for (int i = 0; i < array.Length-1; i++)
            {
                for (int j = i+1; j < array.Length; j++)
                {
                    //下標大的值小,則和下標小的交換值
                    if (array[j]<array[i])
                    {
                        temp = array[i];
                        array[i] = array[j];
                        array[j] = temp;

                    }
                }
            }
            //打印出排序後的結果
            Console.WriteLine("\n");
            Console.WriteLine("冒泡排序的結果為:");
            foreach (var item in array)
            {
                Console.Write(item + "\t");
            }
        }

 

```C#
 public static void BubbleSort(int[] items)
        {

            //1234567889
            int i;
            int j;
            int temp;
            if (items==null)
            {
                return;
            }

            for (i = items.Length-1; i >=0; i--)
            {
                for ( j = 1; j <=i; j++)
                {
                    if (items[j - 1]>items[j])
                    {
                        temp = items[j - 1];
                        items[j - 1] = items[j];
                        items[j] = temp;
                    }
                }
               
            }
       
        }
```

 

 public enum SortType
    {
        Ascending,
        Descending
    }
    public  class SimpleSortSecond
    {
        public static void BubbleSort(int[] items,SortType sortType)
        {

            int i;
            int j;
            int temp;
            if (items == null)
            {
                return;
            }
            for (i = items.Length - 1; i >= 0; i--)
            {
                for (j = 1; j <= i; j++)
                {
                    bool swap = false;
                    switch (sortType)
                    {
                        case SortType.Ascending:
                            swap = items[j - 1] > items[j];
                            break;
                        case SortType.Descending:
                            swap = items[j - 1] < items[j];
                            break;
                        default:
                            break;
                    }


                    if (swap)
                    {
                        temp = items[j - 1];
                        items[j - 1] = items[j];
                        items[j] = temp;
                    }
                }
            }
        }
    }

 

 

posted @ 2021-05-14 10:52  码农阿亮  阅读(64)  评论(0编辑  收藏  举报