插入排序(Insertion Sort):将未排序的元素逐个插入到已排序的序列中的正确位置。
原始数据:{4,3,2,90,10}
第一个循环j=0
首先取出索引为1的元素 3 ,索引为0的元素4,4>3 把4赋值给索引为1的元素 结果为 4 4 2 90 10 然后 j–等于-1
把3赋值给arr[-1+1] 结果为 3 4 2 90 10;
第二个循环 j=1
首先取出索引为1的元素4,索引为2的元素2,4>2把4赋值给索引为2的元素 3结果为 3 4 4 90 10 然后 j-- 等于0
把2赋值给索引为1的元素 结果为 3 2 4 90 10 3>2 把 3赋值给索引1的元素 2结果为 3 3 4 90 10 然后l–等于-1 退出循环
然后arr[-1+1]=2,最终结果为2 3 4 90 10
… 以此类推文章来源地址https://www.toymoban.com/news/detail-672758.html
public static void Sort(int[] arr)
{
//{4, 3, 2, 90, 10 }
int n = arr.Length;//5
for (int i = 1; i < n; i++)
{
int key = arr[i];
int j = i - 1;
// 将 arr[0...i-1] 中的元素移动到比 key 大的位置
while (j >= 0 && arr[j] > key)
{
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
}
}
文章来源:https://www.toymoban.com/news/detail-672758.html
到了这里,关于c# 插入排序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!