冒泡排序是一种最简单、最基础的排序算法,它是通过依次比较相邻两个数来达到排序的目的的。其过程是将第一个记录键值与第二个记录键值进行比较,若为逆序,则将这两个记录交换,然后继续比较第二个和第三个记录的键值。依次类推,直到完成第n-1和第n个键值的比较,将比较出来的值放到第n个位置为止,这个过程便为第一趟排序。第二趟排序时,对前n-1个记录的键值进行比较,将比较出来的值放到第n-1个位置。重复以上过程,直到没有进行记录交换的操作为止,完成整个排序过程。【左边无序区逐渐减少,右边有序区逐渐增大】
以下是C#代码,假设从小到大排序:
private void btnOK_Click(object sender, EventArgs e)
{
//假设从小到大排序:
int[] num = new int[10];
//随机生成10个数:
Random random = new Random();
txt1.Text = "初始序列:";
for (int i = 0; i < num.Length; i++) //显示初始序列
{
num[i] = random.Next(1, 100);
txt1.Text = txt1 .Text + " " + num[i];
}
int temp;
for (int i = 1; i <=num.Length -1; i++)
{
for (int j = 0; j <=num .Length -1-i ; j++)
{
if (num[j] > num[j + 1])
{
temp = num[j];
num[j] = num[j + 1];
num[j + 1] = temp;
}
}
//打印每一趟排序的结果:
txt1.Text = txt1.Text + "\r\n" + "第" + i + "趟排序后:";
for (int k = 0; k < num .Length ; k++)
{
txt1.Text = txt1.Text + " "+ num[k];
}
}
}
感谢您的阅读~