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/>");
        }

    显示如下:

  • 相关阅读:
    论文笔记系列-DARTS: Differentiable Architecture Search
    Win10安装TensorFlow1.9-GPU版本
    论文笔记系列-Efficient Neural Architecture Search via Parameter Sharing
    论文笔记模板
    无偏估计
    【TensorFlow】tf.nn.softmax_cross_entropy_with_logits的用法
    Python学习札记(十三) Function3 函数参数二
    LeetCode Add Two Numbers
    Python学习札记(十二) Function3 函数参数一
    Python学习札记(十一) Function2 函数定义
  • 原文地址:https://www.cnblogs.com/jasenkin/p/1667472.html
Copyright © 2011-2022 走看看