排序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个元素都很慢
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?