C#两种基本的冒泡排序算法

时间:2023-03-08 22:41:25

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
int item = 0;   //设置一个全局变量,用来交换位置
int[] Arr = { 5, 9, 88, 66, 2, 6 };  //随便写几个数

//第一种方法
for (int i = 0; i < Arr.Length; i++)    //for第一遍循环             
{
    for (int j = 0; j < Arr.Length - 1 - i; j++)    //第二次循环,加粗部分是关键理解的地方
    {
       if (Arr[i] > Arr[j + 1 + i])   //如果第一个数大于第二个数就换位置
      {
          item = Arr[i];         //把大的数赋值给全局变量
          Arr[i] = Arr[j + 1 + i];  //大的数和小数交换位置
          Arr[j + 1 + i] = item;  //把全局变量(即大数)换位置
      }
}

//第二种方法

for (int i = 0; i < Arr.Length; i++)
 {
    for (int j = i+1; j < Arr.Length; j++)
   {
       if (Arr[j] < Arr[i])
      {
          item = Arr[j];
          Arr[j] = Arr[i];
         Arr[i] = item;
     }
  }
}

Response.Write(Arr[i]+" ");  //逐个输出显示,空格分开
}
}
}