冒泡排序
1 void BubbleSort(int array[], int len) // O(n*n) 2 { 3 int i = 0; 4 int j = 0; 5 int exchange = 1; //表明数组是否已经排好序 已经排好序为0 1表示没有排好序 6 for (i = 0; (i<len) && exchange; i++) 7 { 8 exchange = 0;//认为已经排序完毕 9 for (j = len - 1; j>i; j--) 10 { 11 if (array[j] < array[j - 1]) 12 { 13 swap03(array, j, j - 1); 14 exchange = 1;// 15 } 16 } 17 } 18 }
选择排序
1 void SelectionSort(int array[], int len) // O(n*n) 2 { 3 int i = 0; 4 int j = 0; 5 int minIndex = -1; 6 7 for (i = 0; i<len; i++) 8 { 9 minIndex = i; //寻找最小元素的下标 10 for (j = i + 1; j<len; j++) 11 { 12 if (array[j] < array[minIndex]) //开始寻找最小元素的下标 13 { 14 minIndex = j; 15 } 16 } 17 if (minIndex != i) { 18 swap01(array, i, minIndex); 19 } 20 } 21 }
插入排序