C#实现摆动排序算法(附完整源码)
摆动排序算法,也称为Strand Sort算法,是一种比较简单的排序算法。摆动排序可以看做是冒泡排序的变种,其主要思想是比较相邻的元素,如果它们的顺序不正确就交换它们的位置,直到所有的元素都被遍历过一次。与冒泡排序不同的是,摆动排序在每次遍历的过程中,不仅仅进行从头到尾的遍历,而是相互交错地进行遍历,形成了摆动的效果。
下面是使用C#语言实现摆动排序算法的代码,代码中定义了一个名为SwingSort的类,其中包含了一个名为Sort的方法,用于对传入的整型数组进行排序操作。
public class SwingSort
{
public static void Sort(int[] arr)
{
int left = 0; //左端点
int right = arr.Length - 1; //右端点
while (left < right)
{
for (int i = left; i < right; i++)
{
if (arr[i] > arr[i + 1]) //如果顺序错误,则交换数据
{
int temp = arr[i];