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

实现插入排序

#include <bits/stdc++.h>
using namespace std;
int a[100005],n;
void charu()
{
  for(int i=1;i<n;i++)
  {
    int key=a[i];  //key表示要排序的数字的数值
    int j=i-1;    //j表示前面已排序好的数的个数
    while(j>=0&&key<a[j])
    {
      a[j+1]=a[j];  //把a[j]往后挪
      j--;
    }
    a[j+1]=key;
  }
}
int main(){
cin>>n;
for(int i=0;i<n;i++)
{
  cin>>a[i];
}
charu();
for(int i=0;i<n;i++)
{
  cout<<a[i]<<" ";
}

  return 0;
}

实现插入排序

题目描述

实现插入排序算法。介绍如下:

插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从前向后扫描,找到相应位置并插入。

请编写代码,完成 插入排序,对给定数据进行升序排列。

输入描述

第一行,数字 N (2≤N≤100)N (2≤N≤100),表示待排序的元素个数。

第二行,待排序的元素。

输出描述

输出一行,为升序序列。

输入输出样例

示例

输入

6
7 1 4 8 5 2

输出

1 2 4 5 7 8

相关文章:

  • 【leetcode hot 100 234】回文链表
  • manus对比ChatGPT-Deep reaserch进行研究类学术相关数据分析!谁更胜一筹?
  • K8s 端口转发实战指南(Practical Guide to k8s Port Forwarding)
  • 软件性能测试深度解析(进阶篇):JMeter高阶应用与性能工程体系构建
  • Spring Framework中的IoC容器
  • 深度优先搜索(DFS)和广度优先搜索(BFS)——c#实现
  • 如何验证邮件列表的有效性?
  • 从高资源到低资源语言的全覆盖:Manus AI的数据革命与迁移学习策略
  • 计算机组成原理:进位计数制与进制转换
  • #9 【code】实现扩散模型的一个jupyter notebook
  • 二、Visual Studio2022配置OpenGL环境
  • CameraX学习2-关于录像、慢动作录像
  • 【单片机通信技术】STM32 HAL库 SPI主从机通过串口发送数据
  • MySQL表空间碎片原理和解决方案
  • [HTTP协议]应用层协议HTTP从入门到深刻理解并落地部署自己的云服务(2)实操部署
  • 基于PySide6的CATIA零件自动化着色工具开发实践
  • 导入 Excel 规则批量修改或删除 Excel 表格内容
  • 【SegRNN 源码理解】【今天不水文系列】编码器部分理解
  • 云曦春季开学考复现(2025)
  • Linux基础--进程管理
  • 网络教育网站建设方案/如何做个人网站
  • 企业网站开发课程的能力应用/青岛的seo服务公司
  • 注册公司网站多少钱/上线了建站
  • 扬州网站建设制作/网站内部优化有哪些内容
  • 中国建设银行吉林分行网站/seo关键词优化指南
  • aspnet网站开发实例/企业网站推广方法实验报告