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

    显示如下:

  • 相关阅读:
    隐性改变display类型
    垂直居中-父元素高度确定的多行文本(方法二)
    去掉WIN7 桌面图标的小箭头
    搭建高可用mongodb集群(三)—— 深入副本集内部机制
    搭建高可用mongodb集群(二)—— 副本集
    搭建高可用mongodb集群(一)——配置mongodb
    Linux:Tomcat报错: Error creating bean with name 'mapScheduler' defined in ServletContext resource 的解决方法
    LINUX ORACLE 启动与关闭
    Linux 安装 Oracle 11g R2
    ORACLE 数据库优化原则
  • 原文地址:https://www.cnblogs.com/jasenkin/p/1667472.html
Copyright © 2020-2023  润新知