【大话数据结构C语言】66 直接插入排序

举报
CodeAllen 发表于 2021/10/29 23:08:56 2021/10/29
【摘要】 直接插入排序的基本操作是将一个记录插入到已经排好的有序表中,从而得到一个新的,记录数增1的有序表 直接排序的时间复杂度也是n的平方,但是其性能比之前的冒泡排序和选择排序还是要好的 #include <stdio.h> void InsertSort(int k[], int n){ int i, j, temp...

直接插入排序的基本操作是将一个记录插入到已经排好的有序表中,从而得到一个新的,记录数增1的有序表

直接排序的时间复杂度也是n的平方,但是其性能比之前的冒泡排序和选择排序还是要好的


  
  1. #include <stdio.h>
  2. void InsertSort(int k[], int n)
  3. {
  4. int i, j, temp;
  5. for( i=1; i < n; i++ )
  6. {
  7. if( k[i] < k[i-1] )
  8. {
  9. temp = k[i];
  10. for( j=i-1; k[j] > temp; j-- )
  11. {
  12. k[j+1] = k[j];
  13. }
  14. k[j+1] = temp;
  15. }
  16. }
  17. }
  18. int main()
  19. {
  20. int i, a[10] = {5, 2, 6, 0, 3, 9, 1, 7, 4, 8};
  21. InsertSort(a, 10);
  22. printf("排序后的结果是:");
  23. for( i=0; i < 10; i++ )
  24. {
  25. printf("%d", a[i]);
  26. }
  27. printf("\n\n");
  28. return 0;
  29. }

 

文章来源: allen5g.blog.csdn.net,作者:CodeAllen的博客,版权归原作者所有,如需转载,请联系作者。

原文链接:allen5g.blog.csdn.net/article/details/117172458

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。