zoukankan      html  css  js  c++  java
  • 冒泡排序

    public class BubbleSort
        {
    
            /*
             * 冒泡排序
             *
             * 参数说明:
             *     a -- 待排序的数组
             *     n -- 数组的长度
             */
            public static void bubbleSort1(int[] a, int n)
            {
                int i, j;
    
                for (i = n - 1; i > 0; i--)
                {
                    // 将a[0...i]中最大的数据放在末尾
                    for (j = 0; j < i; j++)
                    {
    
                        if (a[j] > a[j + 1])
                        {
                            // 交换a[j]和a[j+1]
                            int tmp = a[j];
                            a[j] = a[j + 1];
                            a[j + 1] = tmp;
                        }
                    }
                }
            }
    
            /*
             * 冒泡排序(改进版)
             *
             * 参数说明:
             *     a -- 待排序的数组
             *     n -- 数组的长度
             */
            public static void bubbleSort2(int[] a, int n)
            {
                int i, j;
                int flag;                 // 标记
    
                for (i = n - 1; i > 0; i--)
                {
    
                    flag = 0;            // 初始化标记为0
                                         // 将a[0...i]中最大的数据放在末尾
                    for (j = 0; j < i; j++)
                    {
                        if (a[j] > a[j + 1])
                        {
                            // 交换a[j]和a[j+1]
                            int tmp = a[j];
                            a[j] = a[j + 1];
                            a[j + 1] = tmp;
    
                            flag = 1;    // 若发生交换,则设标记为1
                        }
                    }
    
                    if (flag == 0)
                        break;            // 若没发生交换,则说明数列已有序。
                }
            }
    
            public static void Main(String[] args)
            {
                int i;
                int[] a = { 10, 20, 30, 40, 50, 60 };
    
                Console.WriteLine("before sort:");
                for (i = 0; i < a.Length; i++)
                    Console.WriteLine("%d ", a[i]);
                Console.WriteLine("
    ");
    
                //bubbleSort1(a, a.Length);
                bubbleSort2(a, a.Length);
    
                //Console.WriteLine("after  sort:");
                //for (i = 0; i < a.Length; i++)
                //    Console.WriteLine("%d ", a[i]);
                //Console.WriteLine("
    ");
            }
        }
  • 相关阅读:
    工具类官网Web原型制作分享-Adobe
    还在为黑白网页设计犯难?12款设计帮你轻松解决!!!
    联系我们吧
    单调栈&&单调队列
    *模板--数据结构
    非递归线段树专题
    反素数
    线段树专题训练
    BST
    排列与组合
  • 原文地址:https://www.cnblogs.com/chrisghb8812/p/9351089.html
Copyright © 2011-2022 走看看