排序算法 ---- 直接插入排序


前言

直接插入排序可以看做是希尔排序的简化版。


一、整体思路

直接插入排序的思想和生活中玩扑克牌类似,将待排数据逐个往有序序列里插入。

在这里插入图片描述



二、代码示例

void InsertSort(int* arr, int n)
{
    
    
	if (arr == NULL || n <= 1) 
		return;

	
		int i;
		for (i = 0; i < n - 1; i++)
		{
    
    
			int end = i;
			int tmp = arr[end + 1];

			while (end >= 0)
			{
    
    
				if (arr[end] > tmp)
				{
    
    
					arr[end + 1] = arr[end];
					end--;
				}
				else
				{
    
    
					break;
				}
			}//end of while
			arr[end + 1] = tmp;
		}//end of for

}

Guess you like

Origin blog.csdn.net/juggte/article/details/120339517