三大基础算法之插入排序

一.插入排序(动图如下,帮助理解)

 

插入排序的意思也就是说,是从第二个元素开始循环后,对其每个元素与该元素之前一位的元素相对比,如果当前元素比上一个元素小的话,就将两个元素的位置对调.

直接上代码了

 1  private static void InsertionSort(this int[] array)
 2  {
 3             //82, 22, 33, 12, 33, 44, 22, 34, 56
 4             //22,82,33,12,33,44,22,34,56
 5             //22,33,82,12,33,44,22,34,56 
 6             //12,22,33,82,33,44,22,34,56
 7             int inner, temp;
 8             for (int i = 1; i < array.Length; i++)
 9             {
10                 temp = array[i]; //将当前元素的值保存在这个变量当中
11                 inner = i; //将当前下标保存起来,接下来需要用到
           
12 while (inner > 0 && array[inner - 1] >= temp) //判断该元素的前一位元素是否比当前元素的值更大 13 { 14 array[inner] = array[inner - 1]; 如果满足上述条件的话, 就会把上一位的元素移动到当前元素的位置上 15 inner--; //这里的--是为了当前元素与之前所有元素都要对比一次,结合上面的动图理解就好了 16 } 17 array[inner] = temp; 18 array.Show(); 19 } 20 }

 

posted @ 2022-07-13 03:35  法外狂徒派大星  阅读(26)  评论(0)    收藏  举报