zoukankan      html  css  js  c++  java
  • 排序(一):冒泡排序

    一、封装两种冒泡排序的方法

    public class SortBy
        {
            /// <summary>
            /// 方式一:从后往前交换
            /// </summary>
            /// <param name="array"></param>
            public static void BubbleSort(int[] array)
            {
    
                int i, j, temp;
                int len = array.Length;
    
                for (i = 0; i < len - 1; i++)
                {
                    for (j = len - 1; j > i; --j)
                    {
                        if (array[j] < array[j - 1])
                        {
                            temp = array[j];
                            array[j] = array[j - 1];
                            array[j - 1] = temp;
                        }
                    }
                }
            }
    
            /// <summary>
            /// 方式二:从前往后交换
            /// </summary>
            /// <param name="arr"></param>
            public static void BubbleSortAsc(int[] arr)
            {
                int temp = 0;
                for (int i = 0; i < arr.Length - 1; i++)
                {
                    for (int j = 0; j < arr.Length - 1 - i; j++)
                    {
                        if (arr[j+1] < arr[j])
                        {
                            temp = arr[j];
                            arr[j] = arr[j+1];
                            arr[j+1] = temp;
                        }
                    }
                }
            }
    
    
        }

    二、控制台调用

     class Program
        {
            static void Main(string[] args)
            {
                int[] arr = { 1, 3, 5, 10, 999, 632, -123, 985, 45, 32 };
                SortBy.BubbleSortAsc(arr);
                int[] arr2 = { 10, 30, 5, 110, 99, 32, -123, -985, 45, 32 };
                SortBy.BubbleSort(arr2);
                System.Console.WriteLine(string.Join(",", arr2)+Environment.NewLine+string.Join(",", arr));
    
            }
        }

    三、输出效果

  • 相关阅读:
    你真的知道什么是三观吗?
    iOS block 的两大常见用法
    微信小程序开发入门
    Linux 简介
    OC 的Runtime 消息转发机制
    关于 ES6 的 let ,var和 const
    python time,datetime
    python操作mysql(pymysql + sqlalchemy)
    python操作redis
    python操作memcached
  • 原文地址:https://www.cnblogs.com/ABC-wangyuhan/p/14765577.html
Copyright © 2011-2022 走看看