简单排序的几种方式

mac2024-05-17  37

简单排序的几种方式

冒泡排序

运行方式

外层for循环定义循环最大上限,每次循环下减 内层for循环,从0到外层循环的最大值,进行遍历 核心:if 条件判断,将相邻的两个数组进行交换```

```class Change { public Change(int[] arr) { for (int i = arr.Count() - 1; i >= 0; i--) //减1为了防止数组下标越界` { for (int j = 0; j < i; j++) { if (arr[j] > arr[j + 1]) { int temp = 0; temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } foreach (int item in arr){ Console.Write(item+" "); } } } class Program { static void Main(string[] args) { int[] arr = { 10, 20, 55, 77, 1, 5 }; Change a = new Change(arr); Console.ReadKey(); } }

插入排序

运行方式

从前面挑出一个数 ,与被挑出数的前一个进行比较,假如小于前面的数,则交换位置,前面的所有数都和这个数作比较,假如都小于这个数,则跳过循环,进行下一次循环。

class Program { static void Main(string[] args) { int[] arr = { 10, 20, 55, 77, 1, 5 }; Change a = new Change(arr); Console.ReadKey(); } } class Change { public Change(int[] arr) { for (int i = 1; i < arr.Length; i++) for (int j = i; j > 0; j--) { if (arr[j] < arr[j - 1]) { int temp = 0; temp = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = temp; } } foreach (int item in arr) { Console.Write(item + " "); } } } } ```csharp 在这里插入代码片
最新回复(0)