算法——第一周
Posted yuanjun93
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法——第一周相关的知识,希望对你有一定的参考价值。
学习目录:
-
选择排序
-
冒泡排序
-
插入排序
-
异或运算
-
归并排序
先更新大部分,因为今天是周日,本周最后一天了,
现在是7月26日晚上11点46分,明天会陆续更新学习代码,并加上文字解析重要部分
选择排序
1 void selectSort(int array[], int len) 2 { 3 if (array == NULL || len < 2) 4 { 5 return; 6 } 7 for (int i = 0; i < len - 1; i++) 8 { 9 int minIndex = i; 10 for (int j = i + 1; j < len; j++) 11 { 12 if (array[j] < array[minIndex]) 13 { 14 Swap(array, minIndex, j); 15 } 16 } 17 } 18 }
冒泡排序
1 void BubbleSort(int array[], int len) 2 { 3 if (array == NULL || len < 2) 4 { 5 return; 6 } 7 for (int i = len - 1; i > 0; i--) 8 { 9 for (int j = 0; j < i; j++) 10 { 11 if (array[j] > array[j + 1]) 12 { 13 Swap(array, i, j); 14 } 15 } 16 } 17 }
插入排序
1 void insertSort(int array[], int len) 2 { 3 if (array == NULL || len < 2) 4 { 5 return; 6 } 7 for (int i = 1; i < len; i++) 8 { 9 for (int j = i - 1; j >= 0 && array[j] > array[j + 1]; j--) 10 { 11 Swap(array, j, j + 1); 12 } 13 } 14 }
用异或运算交换值
void Swap(int array[], int i, int j) { array[i] = array[i] ^ array[j]; array[j] = array[i] ^ array[j]; array[i] = array[i] ^ array[j]; }
以上是关于算法——第一周的主要内容,如果未能解决你的问题,请参考以下文章