C# 冒泡排序 选择排序 与 插入排序

  • Post author:
  • Post category:其他


List<int> list = new List<int> { 33, 22, 1, 7, 66, 48, 95, 93, 92, 91, 46 };

#region 冒泡排序

public void BubbleSort()

{


for (int i = 0; i < list.Count; i++)

{


for (int j = i; j < list.Count; j++)

{


if (list[i] > list[j])

{


int tmp = list[j];

list[j] = list[i];

list[i] = tmp;

}

}

}

for (int i = 0; i < list.Count; i++)

{


Console.WriteLine(list[i]);

}

}

#endregion

#region 选择排序

//基本思想  每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。

public void SelectionSort()

{

for (int i = 0; i < list.Count; i++)

{


int minIndex = i;

for (int j = i + 1; j < list.Count; j++)

{


if (list[i] > list[j]) minIndex = j;

}

if(minIndex != i)

{


int tmp = list[minIndex];

list[minIndex] = list[i];

list[i] = tmp;

}

}

for (int i = 0; i < list.Count; i++)

{


Console.WriteLine(list[i]);

}

}

#endregion

#region 插入排序



public void InsertSort()

{


for (int i = 1; i < list.Count; i++)

{


for (int j = i – 1; j >= 0; j–)

{


if (list[i] < list[j] && j – 1 >= 0 && list[i]>list[j-1])

{


int tmp = list[i];

list[i] = list[j];

list[j] = tmp;

}

}

}

for (int i = 0; i < list.Count; i++)

{


Console.WriteLine(list[i]);

}

}

#endregion



版权声明:本文为qq_37177949原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。