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

            冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。

        由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。

           算法如下:

    代码
    using System.Text;

     
    protected void Page_Load(object sender, EventArgs e)
        {
           BubbleSort();
        }

     
    private void BubbleSort()
        {
            
    int[] inputIntArray = new int[8] { 8,7,6,5,4,3,2,1 };
            
    int temp;
            
    for (int i = 1; i < inputIntArray.Length;i++)
            {
    //  foreach N-1
                for (int j = inputIntArray.Length - 1;j>=i;j--)
                {
    //begin at the last 
                    if(inputIntArray[j]<inputIntArray[j-1])
                    {
                        temp
    =inputIntArray[j];
                        inputIntArray[j]
    =inputIntArray[j-1];
                        inputIntArray[j
    -1= temp;
                    } 
                }
                PrintSortedResult(inputIntArray,i);
            }       
        }
     
    private void PrintSortedResult(int[] inputIntArray,int num)
        {
            StringBuilder sb 
    = new StringBuilder();
            
    for (int i = 0; i < inputIntArray.Length; i++)
            {
                
    if (i == 0)
                {
                    sb.Append(inputIntArray[i].ToString());
                }
                
    else
                {
                    sb.Append(
    "," + inputIntArray[i].ToString());
                }
            }
            Response.Write(
    ""+num+"次排序的结果:  "+sb.ToString()+"<br/>");
        }

    显示如下:

  • 相关阅读:
    JavaScript内部原理:浏览器的内幕
    DOM结构深度优先遍历(二):TreeWalker
    DOM结构深度优先遍历(一):NodeIterator
    Linux bc 命令
    两个小function实现XML和string相互转化
    Git 多用户配置
    Vue 新增的$attrs与$listeners的详解
    CSS mask遮罩
    flask之后端传值给前端
    python cv2在验证码识别中的使用
  • 原文地址:https://www.cnblogs.com/jasenkin/p/1667472.html
Copyright © 2011-2022 走看看