排序1-冒泡排序

今天学习冒泡排序

几点直观的发现和认识:

1. 第一趟会发最大的值移动到最右端;第二趟会把第二大的值移动到倒数第二位置;

2. 冒泡排序的核心思想就是:每一趟排序都从第一个元素开始,相邻元素两两比较,逆序则交换位置;

3. 假设有集合有n个元素,则一共需要n趟排序;

4. 每一趟两两比较,需要比较n-1次

5. 外层for控制趟数,内层for控制两两比较

代码:

int nums = 20;
int[] arr=new int[nums];
Random Random = new Random();
for (int i = 0; i < nums; i++)
{
arr[i]=Random.Next(0,nums);
}
Console.Write($"原始数据:");
foreach (var item in arr)
{
Console.Write($"{item} ");
}
Console.WriteLine();

//冒泡排序
for (int i = 0; i < arr.Length; i++)
{
for (int j = 0; j < arr.Length-1; j++)
{

if (arr[j] > arr[j + 1])
{
int tem = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tem;
}

}

Console.Write($"第{i}次:");
foreach (var item in arr)
{
Console.Write($"{item} ");
}
Console.WriteLine();
}

结果:

 

 

 

 总结:冒泡排序很慢,200个元素都很慢

 

posted @ 2022-07-28 11:02  冬天的冬  阅读(40)  评论(0)    收藏  举报