冒泡排序:
一串无序数值,从第一个数值开始依次与后面的数字比较,交换位置,得到有序的数值(升序排列/降序排列),此过程成为冒泡排序。
冒泡排序法:
用冒泡排序,将无序数值
转化位有序数值
的方法,称为冒泡排序法。
运行效果:
升序排列
降序排列
实现以上功能:
[代码+解释]
升序排列(小→大)
int[] arr = { 1, 5, 6, 4, 5 ,0};
Console.WriteLine("冒泡排序后的数值:");
for (int i = 0; i < arr.Length - 1; i++)
{
//-i的优点 不再和比过的数值比较
//不-i的缺点 会和比过的数字再经行一次比较
for (int j = 0; j < arr.Length - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
//将数值进行调换 大的往后排
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
//循环输出排序后的数值
for (int i = 0; i < arr.Length; i++)
{
Console.Write(arr[i]);
}
降序排列(大→小)
int[] arr = { 1, 5, 6, 4, 5 ,0};
Console.WriteLine("冒泡排序后的数值:");
for (int i = 0; i < arr.Length - 1; i++)
{
//-i的优点 不再和比过的数值比较
//不-i的缺点 会和比过的数字再经行一次比较
for (int j = 0; j < arr.Length - 1 - i; j++)
{
if (arr[j] < arr[j + 1])
{
//将数值进行调换 小的往后排
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
//循环输出排序后的数值
for (int i = 0; i < arr.Length; i++)
{
Console.Write(arr[i]);
}
总结 [如何实现排序]:
- 双重循环 将相邻数值进行比较
- 根据比较结果,调换位置
- 最后,将排列后的新数值,循环输出。
温馨提示:
喜欢灰碟分享的小伙伴不要忘记关注噢~这样子,想找我时就不会迷路啦*
联系方式:
Vx+:LHD7575