算法复习--插入排序
插入排序的主要思想与扑克牌类似,即把一张扑克牌插入一个有序的序列中去。具体算法如下:
- static void InsertionSort(int[] a)
- {
- for (int i = 1; i < a.Length; i++)
- {
- int key = a[i];
- int j = i - 1;
- while ((j>=0)&&(key < a[j]))
- {
- a[j + 1] = a[j];
- j--;
- }
- a[j+1] = key;
- }
- }
值得注意的是while判断是要把j>=0这个条件放在key<a[j]前面,否则会数组越界