在上一篇文章中《算法排序》中简单介绍了选择排序和冒泡排序,这次让咱们紧接着上次的节奏继续来学习这两种排序。都说是万事开头难,其实有了充分的准备一点都不难了,在本文中,小编将要介绍算法排序的图形过程与代码。
选择排序
图形描述
过程描述
- 假设第i个数是最大;
- 第i个数与从i+1到n个数之间一次比较;
- 内循环中交换n-i次之后得到一轮结果;
核心代码
For i=1 to n-1 '外循环
For j=i+1 to n '内循环
If a(i)>a(j) then
a(i)=c
a(j)=a(i)
c=a(j)
冒泡排序
图形描述
过程
- 大数上浮,小数沉底;
- 两两交换;
核心代码
For i=1 ton-1
For j=1 to n-i
If a(j)>a(j+1) then
a(i)=c
a(j)=a(i)
c=a(j)
代码展示
namespace 排序
{
class 选择排序
{
static void Main(string[] args)
{
InsertionSort();
}
///<summary>
///选择序法
///</summary>
private static void InsertionSort()
{
Console.WriteLine("选择排序法");
int temp = 0;
int[] arr = { 7, 1, 6, 3, 8, 2, 9, 4, 0, 5 };
Console.WriteLine("排序前的数组:");
foreach (int item in arr)
{
Console.Write(item + ",");
}
Console.WriteLine();
var length = arr.Length;
for (int i = 0; i < length - 1; i++)
{
for (int j = i + 1; j < length; j++)
{
if (arr[i] < arr[j])
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
//每次排序后数组
PrintResult(arr);
}
Console.ReadKey();
}
///<summary>
///打印结果
///</summary>
///<paramname="arr"></param>
private static void PrintResult(IEnumerable<int> arr)
{
foreach (int item in arr)
{
Console.Write(item + ",");
}
Console.WriteLine();
}
}
}
namespace 排序
{
class 冒泡
{
static void Main(string[] args)
{
InsertionSort();
}
///<summary>
///冒泡序法
///</summary>
private static void InsertionSort()
{
Console.WriteLine("冒泡排序法");
int temp = 0;
int[] arr = { 7, 1, 6, 3, 8, 2, 9, 4, 0, 5 };
Console.WriteLine("排序前的数组:");
foreach (int item in arr)
{
Console.Write(item + ",");
}
Console.WriteLine();
var length = arr.Length;
for (int i = length ; i >0; i--)
{
for (int j = 0; j < i-1; j++)
{
if (arr[j] < arr[j+1])
{
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j ] = temp;
}
}
//每次排序后数组
PrintResult(arr);
}
Console.ReadKey();
}
///<summary>
///打印结果
///</summary>
///<paramname="arr"></param>
private static void PrintResult(IEnumerable<int> arr)
{
foreach (int item in arr)
{
Console.Write(item + ",");
}
Console.WriteLine();
}
}
}
排序与总结
在学习排序的过程中,从老师教给我们知识只是老师的,并不是学生自己的,只有自己努力去实践,才可以将知识掌握甚至于融会贯通。在本文中,小编针对算法中比较简短的两种排序进行了讲解,如果有什么错误的地方,还请多多指教。