常見的几种排序方式
內容:
1、冒泡排序
2、选择排序
3、插入排序
4、希尔排序
一、冒泡排序
冒泡排序思想:每遍历数组一次将数组中剩下的最大的排到本次遍历数组的最后。
1.每次遍历均是从数组的第一个元素开始的
2.两层for循环,第一层用来控制遍历的次数,为陈列的长度-1;第二层用来找到本次循环中元素的最大值,并将其排到本次数组的最后。
示例代码:
1 public int[] maopaoSort(int[] arr) 2 { 3 if (arr.Length == 0) 4 { 5 Console.WriteLine("空數組"); 6 } 7 else 8 { 9 for (int i = 0; i < arr.Length - 1; i++) 10 { 11 for (int j = 0; j < arr.Length - 1 - i; j++) 12 { 13 if (arr[j] > arr[j + 1]) 14 { 15 int temp = arr[j]; 16 arr[j] = arr[j + 1]; 17 arr[j + 1] = temp; 18 } 19 } 20 } 21 } 22 return arr; 23 }
二、选择排序
选择排序思想:每次遍历数组将剩余数组中的最小值排到本次遍历陈列的最前面
1.两层for循环,第一层用于控制循环的次数,第二层循环用于找到本次循环中的最小值,并将其排到本次循环体的最前面
示例代码:
1 public int[] xuanzeSort(int[] arr) 2 { 3 if (arr.Length == 0) 4 { 5 Console.WriteLine("空數組"); 6 } 7 else 8 { 9 for (int i = 0; i < arr.Length; i++) 10 { 11 for (int j = i + 1; j < arr.Length; j++) 12 { 13 int temp; 14 //不斷的將最小的送到arr[i]的面前,直到迴圈結束 15 if (arr[i] > arr[j]) 16 { 17 temp = arr[i]; 18 arr[i] = arr[j]; 19 arr[j] = temp; 20 } 21 } 22 } 23 } 24 return arr; 25 }