插入排序
目的:将一组数据,按照数字的大小进行降序或升序的排列组合方式。
内容:相当于将大小不一的水果按照大小的差异性进行排序。例如,有一组水果(大小并未提前排序,随机进行放置)苹果,西瓜,樱桃,南瓜,圣女果。若是按照升序进行排序,就是将小点的水果放在前面,大的水果放在后面。
- 1、选择一个苹果,由于苹果前没有任何水果,默认在此时放置苹果为真
- 2、选择接下来的西瓜,由于前面的苹果本身比西瓜大,因此在这时西瓜放置合理。
- 3、选择樱桃,和前一个西瓜相比,樱桃小,故西瓜和樱桃位置倒换。再把樱桃和苹果进行比较,樱桃小,故樱桃和西瓜位置倒换。此时,位置是:樱桃,苹果,西瓜,南瓜,圣女果
- 4、选择南瓜,和前一个西瓜相比,南瓜大于西瓜,故此时位置不变,为真
- 5、选择圣女果,和前一个南瓜相比,圣女果小于南瓜,故两者位置倒换。再和前一个西瓜相比,圣女果小于西瓜,故两者位置倒换。再和前一个苹果相比,圣女果小于苹果,故两者位置倒换。再和前一个樱桃相比,圣女果大于樱桃,故位置不变。此时,位置是:樱桃,圣女果、苹果,西瓜,南瓜
- 6、由于选择完毕,故排序结束
INSERTIONSORT(A)
for j=2 to A.length
key = A[j];
i =j-1
while i> and A[i]>key
A[i+