当前位置: 首页 > news >正文

用C语言实现插入排序算法

1.设计思路
用插入排序对长度为n的待排序数组A进行排序的伪代码(在代码中,A中元素的数目n用A.length来表示)。
伪代码如下:

INSERTION-SORT(A)
for j=2 to A.length:key=A[j]     //将A[j]插入已排序序列A[1..j-1]i=j-1while i>0 and A[i]>keyA[i+1]= A[i]i=i-1A[i+1]=key

2.源代码

#include <stdio.h>
int main(void)
{int a[100];int i,j,t,n;scanf("%d",&n);     //输入要排序的数的个数for(i=0;i<n;++i)       //输入要排序的数{scanf("%d",a+i);}for(i=1;i<n;++i){t=a[i];for(j=i-1;j>-1 && a[j]>t;j--)     //和前面的数作对比{           a[j+1]=a[j];      //如果前面的数大,则后移}a[j+1]=t;          //将数插入for(j=0;j<n;++j)printf("%-5d",a[j]);printf("\n\n");}return 0;
}

3.运行结果
第一行的5为要排序的元素个数,12,32,6,67,43为要排序的数,排序过程为6插到最前面,43插到67前面,即可完成从小到大的插入排序。
在这里插入图片描述

http://www.lryc.cn/news/108426.html

相关文章:

  • 2023 电赛E题--可能会出现的问题以及解决方法
  • Demystifying Prompts in Language Models via Perplexity Estimation
  • WEB集群——http、tomcat
  • Socks5代理:网络安全与爬虫之利器
  • 如何兼容低版本浏览器
  • 【雕爷学编程】MicroPython动手做(39)——机器视觉之图像基础2
  • gitlab搭建
  • JMeter 的使用
  • Java语言 Iterator 如何装换成 List
  • 国产GOWIN实现低成本实现CSI MIPI转换DVP
  • Typescript第六章 类型进阶(类型之间的关系,全面性检查,对象类型进阶,函数类型进阶,条件类型等)
  • kernel32.dll如何修复,快速解决kernel32.dll缺失的方法
  • 初始化前端项目配置 eslint、prettier、husky 等等
  • 嵌入式存储器为AI的实现提供了实现架构
  • iOS开发-格式化时间显示刚刚几分钟前几小时前等
  • ffmpeg视频音频命令
  • Jenkins工具系列 —— Jenkins 安装并启动
  • 使用中间人攻击的arp欺骗教程
  • 设计模式、Java8新特性实战 - List<T> 抽象统计组件
  • 【JavaEE初阶】博客系统后端
  • day51-Mybatis-Plus/代码生成器
  • 22.Netty源码之解码器
  • R语言【Tidyverse、Tidymodel】的机器学习方法
  • vscode 第一个文件夹在上一层文件夹同行,怎么处理
  • [JavaScript游戏开发] 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测
  • 【NLP概念源和流】 01-稀疏文档表示(第 1/20 部分)
  • 服务器运行python程序的使用说明
  • 8.2一日总结
  • JavaScript(四)DOM及CSS操作
  • window中,关闭java占用端口的进程