第十五周项目1 (2)——验证直接插入排序

从透射谱到能量分布:用Rsoft破解光纤光栅耦合模式的3个关键技巧 本文面向光通信工程师与研究者,分享了利用Rsoft软件深入分析光纤光栅耦合模式的三个关键技巧。通过配置场监视器观察XY截面能量分布、利用传播动画追踪动态过程,并结合模式求解器精准判定相位匹配,帮助用户超越透射谱分析,直观可视化能量从纤芯到包层的耦合与流动,从而优化器件设计。 阅读详情

问题:

/* 
* Copyright (c)2016,烟台大学计算机与控制工程学院 
* All rights reserved. 
* 文件名称:项目1.cpp 
* 作    者:陈晨 
* 完成日期:2016年12月5日 
* 版 本 号:v1.0  
*问题描述:验证直接插入排序,完成测试。  
*输入描述:无 
*程序输出:测试数据 
*/  

1.直接插入排序:

  代码:

#include <stdio.h>
#define MaxSize 20
typedef int KeyType;    //定义关键字类型
typedef char InfoType[10];
typedef struct          //记录类型
{
    KeyType key;        //关键字项
    InfoType data;      //其他数据项,类型为InfoType
} RecType;              //排序的记录类型定义

void InsertSort(RecType R[],int n) //对R[0..n-1]按递增有序进行直接插入排序
{
    int i,j;
    RecType tmp;
    for (i=1; i<n; i++)
    {
        tmp=R[i];
        j=i-1;            //从右向左在有序区R[0..i-1]中找R[i]的插入位置
        while (j>=0 && tmp.key<R[j].key)
        {
            R[j+1]=R[j]; //将关键字大于R[i].key的记录后移
            j--;
        }
        R[j+1]=tmp;      //在j+1处插入R[i]
    }
}

int main()
{
    int i,n=10;
    RecType R[MaxSize];
    KeyType a[]= {9,8,7,6,5,4,3,2,1,0};
    for (i=0; i<n; i++)
        R[i].key=a[i];
    printf("排序前:");
    for (i=0; i<n; i++)
        printf("%d ",R[i].key);
    printf("\n");
    InsertSort(R,n);
    printf("排序后:");
    for (i=0; i<n; i++)
        printf("%d ",R[i].key);
    printf("\n");
    return 0;
}

运行结果:



2.显示直接插入的过程

  代码:

#include <stdio.h>
#define MaxSize 20
typedef int KeyType;    //定义关键字类型
typedef char InfoType[10];
typedef struct          //记录类型
{
    KeyType key;        //关键字项
    InfoType data;      //其他数据项,类型为InfoType
} RecType;              //排序的记录类型定义

void InsertSort(RecType R[],int n) //对R[0..n-1]按递增有序进行直接插入排序
{
    int i,j,k;
    RecType tmp;
    for (i=1; i<n; i++)
    {
        tmp=R[i];
        j=i-1;            //从右向左在有序区R[0..i-1]中找R[i]的插入位置
        while (j>=0 && tmp.key<R[j].key)
        {
            R[j+1]=R[j]; //将关键字大于R[i].key的记录后移
            j--;
        }
        R[j+1]=tmp;      //在j+1处插入R[i]
        printf("i=%d: ",i);
        for (k=0; k<n; k++)
            printf("%d ",R[k].key);
        printf("\n");
    }
}

int main()
{
    int i,n=10;
    RecType R[MaxSize];
    KeyType a[]= {9,8,7,6,5,4,3,2,1,0};
    for (i=0; i<n; i++)
        R[i].key=a[i];
    printf("排序前:");
    for (i=0; i<n; i++)
        printf("%d ",R[i].key);
    printf("\n");
    InsertSort(R,n);
    printf("排序后:");
    for (i=0; i<n; i++)
        printf("%d ",R[i].key);
    printf("\n");
    return 0;
}

运行结果:


3.折半插入排序

代码:

#include <stdio.h>
#define MaxSize 20
typedef int KeyType;    //定义关键字类型
typedef char InfoType[10];
typedef struct          //记录类型
{
    KeyType key;        //关键字项
    InfoType data;      //其他数据项,类型为InfoType
} RecType;              //排序的记录类型定义

void InsertSort1(RecType R[],int n) //对R[0..n-1]按递增有序进行直接插入排序
{
    int i,j,low,high,mid;
    RecType tmp;
    for (i=1; i<n; i++)
    {
        tmp=R[i];
        low=0;
        high=i-1;
        while (low<=high)
        {
            mid=(low+high)/2;
            if (tmp.key<R[mid].key)
                high=mid-1;
            else
                low=mid+1;
        }
        for (j=i-1; j>=high+1; j--)
            R[j+1]=R[j];
        R[high+1]=tmp;
    }
}
int main()
{
    int i,n=10;
    RecType R[MaxSize];
    KeyType a[]= {9,8,7,6,5,4,3,2,1,0};
    for (i=0; i<n; i++)
        R[i].key=a[i];
    printf("排序前:");
    for (i=0; i<n; i++)
        printf("%d ",R[i].key);
    printf("\n");
    InsertSort1(R,n);
    printf("排序后:");
    for (i=0; i<n; i++)
        printf("%d ",R[i].key);
    printf("\n");
    return 0;
}

运行结果:



LPDDR5 学习笔记01:功能概述 LPDDR5/LPDDR5X SDRAM设备采用8/16DQ通道架构,支持2Gb-32Gb容量。通过CK命令时钟和更快的WCK数据时钟协同工作,7个CA引脚传输控制信息,支持2:1或4:1的WCK:CK比例。设备提供BG/8B/16B三种存储模式选择,分别支持不同数据速率(最高8.533Gbps)和突发长度。采用0.5V VDDQ电源电压,实现高速双倍数据速率传输,并通过差分WCK时钟完成数据采样。读写采用突发访问机制,需先激活命令再执行读写操作。新型LPDDR5X仅支持BG和16B模式,优化了高速性能。 阅读详情

相关推荐

STM32的DMA模块及Protues仿真实验

(一)DMA简介      DMA(Direct Memory Access,直接存储器访问), 用于在外设与存储器之间以及存储器与存储器之间提供高速数据传输。可以在无需任何 CPU 操作的情况下通过 DMA 快速移动数据。这样节省的 CPU 资源可 供其它操作使用。      STM32F407共有两个 DMA 控制器,总共有 16 个数据流(每个控制器 8 个),每一个 DMA 控制器都用于管理 一个或多

weixin_45930204的博客 2850

第16周项目1-验证算法(1)直接插入排序

问题: /* * Copyright (c)2015,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:项目1-1.cbp * 作 者:王聪 * 完成日期:2015年12月13日 * 版 本 号:v1.0 * 问题描述: 验证直接插入排序 * 输入描述:无 * 程序输出:测试数据 */ 1.直接插入排序 #inc

进击的葱 707

AI医疗影像诊断工具2025 完整教程

本教程所述工具均为辅助诊断设备,不可替代执业医师判断。部署使用需遵守当地医疗器械管理法规。推荐开源框架组合:代码太多打包上传网盘了 自行下载。2025年的AI医疗影像诊断工具将以。

m0_60084632的博客 2029

第15周项目1 (1)- 验证直接插入排序算法

1.直接插入排序#include <stdio.h> #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录类型 { KeyType key; //关键字项 InfoType data; //其他数据

yzq201658506137 431

UE5 中 Python 编程:Python 代码加载到 UE5 中,如何供蓝图节点调用

配置 python 代码的路径,使 UE5 启动时,加载代码文件。重启之后,在蓝图中右键,就能搜索到你定义的方法了。参数为 str 字符串类型,返回值为 向量数组。注意:一定要 重启 UE5。

topcss的专栏 3997

[3D检测系列-PV-RCNN] PV-RCNN实战指南:从论文解析到代码调试全流程

本文提供了PV-RCNN在3D目标检测领域的实战全流程指南。文章深入解析了其Point-Voxel融合的核心思想,并详细演示了从环境搭建、数据准备、代码复现到模型训练与调试的具体步骤,特别针对常见的报错问题给出了解决方案,帮助开发者高效掌握这一经典算法。

weixin_29189381的博客 480

第十五周项目1-(2)验证直接插入排序算法

问题及代码: /* * Copyright (c)2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:项目1-(2).cpp * 作 者:李晓钰 * 完成日期:2016年12月8日 * 版 本 号:v1.0 *问题描述:验证直接插入排序,完成测试。 *输入描述:无 *程序输出:测试数据

lxy19971107的博客 622

Caffeine:为每个元素动态设置过期时间

Caffeine利用expireAfter方法实现为每个元素动态设置过期时间

大数据开发、JAVA开发、人工智能AI 1万+

第十五周 验证直接插入排序

/*问题及代码 *Copyright(c)2016,烟台大学计算机学院 *All right reserved. *文件名称:直接插入排序.cpp *作者:李潇 *时间:12月17日 *版本号;v1.0 *问题描述:  请用直接插入排序的算法完成序列任意数列的排序。 *程序输入:随意输入一个数组 *程序输出:根据题目要求输出。 */ 代码: #include

sdlixiao6的博客 345

ROS2 多机器人导航仿真入门教程(一)

RMF 是建立在 ROS 2 基础上的一系列可重复使用、可扩展的库和工具,可实现任何类型机器人系统的异构机群的互操作性。RMF 利用标准化的通信协议与部署机器人的基础设施、环境和自动化系统进行通信,以优化关键资源(如机器人、电梯、门、通道等)的使用。它通过资源分配和通过 RMF 核心(将在本书后面详细介绍)防止共享资源冲突,从而为系统增加智能。RMF 灵活而强大,几乎可以在任何通信层上运行,并与任何数量的物联网设备集成。RMF 的架构设计允许随着环境自动化水平的提高而扩展。

2506_90492529的博客 1659

OpenClaw部署太难?汉化版+中文社区+国产替代品,国内用户零门槛指南

OpenClaw作为GitHub 10万+星的开源AI助手平台,近期在国内AI圈备受关注 🌟 但部署难度和英文界面让很多用户望而却步。本文整理了针对国内用户的友好资源和简便替代方案,帮助国内用户零门槛上手AI助手工具 🚀

XiaoqiangClub的博客 5758

【第十五周 项目1 (2)—验证直接插入排序】

问题及代码: /* * Copyright (c)2015级,烟台大学 计算机与控制工程学院 * All rights reserved. * 文件名称:项目1.cpp * 作    者:胡馨月 * 完成日期:2016年12月8日 * 版 本 号:v1.0  *问题描述:验证直接插入排序,完成测试。  *输入描述:无 *程序输出:测试数据 */ 

weixin_35998801的博客 266

《SAP FICO系统配置从入门到精通共40篇》030、集成配置:FI与生产计划(PP)的自动科目确定

FI和PP的自动科目确定,本质上是把生产业务翻译成会计语言。翻译规则就藏在那些配置表里。配的时候多想一步:这个业务动作,在财务眼里是什么?是材料消耗?是产出入库?还是工费分摊?想清楚这个,再看配置界面,那些代码就不是天书了。最好的测试方式,是月底关账前,让生产部门跑一遍所有类型的生产订单。配置对不对,业务最知道。

985大学毕业,前某大厂员工,啥都会点的程序员! 575

第十五周项目1(2)--验证直接插入排序算法

/*   * Copyright (c)2016,烟台大学计算机与控制工程学院   * All rights reserved.   * 文件名称:项目1.cpp   * 作    者:renjiafeng * 版 本 号:v1.0    *问题描述:验证直接插入排序,完成测试。    *输入描述:无   *程序输出:测试数据   */    直接插入排序:

hhhaaahh的博客 925

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

第十五周项目1-验证算法(2-直接插入排序)

问题及代码: /* copyright (t) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:1.cpp *作者:常锐 *完成日期:2016年12月8日 *版本号:v1.0 *问题描述:请用直接插入排序算法,完成序列{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}的排序 *输入描述:无 *程序输出

cr496352127的博客 441

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

第十五周实践项目1—验证算法(2)直接插入排序

代码: #include #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct //记录类型 { KeyType key; //关键字项 InfoType data; //其他数据项,类型为InfoTy

优快云如何转载别人博客 511

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

第十五周项目1-验证算法(2)直接插入排序

问题及代码: /*    * Copyright (c)2016,烟台大学计算机与控制工程学院    * All rights reserved.    * 文件名称:项目1.cbp    * 作    者:董雪 * 完成日期:2016年12月7日    * 版 本 号:v1.0        * 问题描述: 验证直接插入排序       * 输入描述:无

vip____的博客 840

第十五周项目1-验证算法(2)-直接插入排序

/* * Copyright (c) 2016, 烟台大学计算机与控制工程学院 * All rights reserved。 * 文件名称 :1.cpp * 作 者 :孟令群 * 完成日期 :2016年 12月8日 * 版 本 号 :v1.0 * 问题描述 : * 输出描述 : */ #include #define MaxSize 20

mlq9527的博客 394

第十五周项目1--验证算法--(2)直接插入排序

问题及代码: /* *烟台大学计算机与控制工程学院 *作 者:刘倩 *完成日期:2016年12月3日 *问题描述:直接插入排序 */ 1.直接插入排序 #include #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typed

meiyanrumei的博客 488

第十五周 项目1--验证算法--(2)直接插入排序

问题及代码: /* *烟台大学计算机与控制工程学院 *作 者:张晓彤 *完成日期:2016年12月3日 *问题描述:直接插入排序 */ 1.直接插入排序

zxt17853535692的博客 467

【第十五周项目1 - 验证算法之直接插入排序】

问题及代码: [cpp] view plain copy   /*   * Copyright (c) 2016, 烟台大学计算机与控制工程学院   * All rights reserved.   * 文件名称:Cube007.cpp   * 作    者:杨俊杰  * 完成日期:2016年12月8日   *   * 问题描述:用直

Gjyjj的博客 824

【第十五周项目1】验证算法——直接插入排序

/* * Copyright (c)2017,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:项目1-1.cbp * 作 者:swz * 完成日期:2017年12月14日 * 问题描述: 验证直接插入排序 * 输入描述:无 * 程序输出:测试数据 */ #inclu

swzzz的博客 329
上一篇: 第十五周项目1 (1)——验证哈希表相关算法
下一篇: 第十五周项目1(3)——验证希尔排序
chenchen0808
博客等级 码龄10年 15粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值