首页 > 代码库 > 插入排序
插入排序
时间复杂度为O(n^2)。是稳定的排序方法
下所示:
插入排序过程示例
{{a1},{a2,a3,a4,…,an}}
{{a1⑴,a2⑴},{a3⑴,a4⑴ …,an⑴}}
…
{{a1(n-1),a2(n-1) ,…},{an(n-1)}}
每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中。
#include<stdio.h>int main(){ int a[]={3, 2, 1, 7, 8, 10, 4, 5, 6, 9}; int i,j,temp,count=10; for(i=0;i<=9;i++) { temp=a[i]; j=i-1; while(j>=0 && a[j]>temp) { a[j+1]=a[j]; j--; } a[j+1]=temp; } for(i=0;i<=9;i++) printf("%d ",a[i]); }
插入排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。