第十六周上机实践—项目1(1)—验证算法 直接插入排序 折半插入排序

图解基站机房:AAU、RRU与BBU之间的线缆连接与规格选择 本文以图解方式详解了5G基站机房中AAU、RRU与BBU三大核心设备之间的线缆连接方案与规格选择。重点阐述了电力线(如2×10 mm²直流电缆)、数据光缆(如野战光缆与波分复用)及射频馈线的功能、选型标准与实战布线法则,为通信工程部署与维护提供清晰指导。 阅读详情
/*      
 *Copyright(c) 2015,烟台大学计算机学院      
 *All rights reserved.      
 *文件名称:test.cpp      
 *作者:林莉      
 *完成日期:2015年12月14日      
 *版本:v1.0      
 *      
 *问题描述:用序列{9,8,7,6,5,4,3,2,1,0}作为测试数据,运行并本周视频中所讲过的算法对应 程
 序,观察运行结果并深刻领会算法的思路和实现方法:(1)直接插入排序 折半插入排序
 *输入描述:无      
 *输出描述:所得结果。   
 */ 

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;
}


运行结果:

R语言中的Gamma分布函数 在R语言中,我们可以使用最大似然估计(Maximum Likelihood Estimation,MLE)或最小二乘估计(Least Squares Estimation,LSE)等方法来估计Gamma分布的参数。本文介绍了在R语言中使用Gamma分布函数的基本操作,包括生成随机变量、计算概率密度函数和累积分布函数,以及参数估计和拟合。函数来生成Gamma分布的随机变量,计算概率密度函数(PDF)和累积分布函数(CDF),以及进行参数估计和拟合。要计算Gamma分布的累积分布函数(CDF),我们可以使用。 阅读详情

相关推荐

DSPACE仿真平台的使用

DSPACE仿真平台的使用 文章目录DSPACE仿真平台的使用1.ModelDesk新建项目2.MotionDesk引入项目3.ControlDesk引入项目4.项目整合运行 我们使用DSPACE仿真平台软件来模拟小汽车的自动驾驶。 总共需要用到DSPACE大类下的三个软件:ModelDesk、ControlDesk、MotionDesk。 1.ModelDesk新建项目 在桌面上点击ModelDesk图标,打开DSPACE—ModelDesk 选择 File 标签,侧边栏选择 New,点击 New A

qq_42582489的博客 7528

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

问题及代码: [cpp] view plain copy   /*     * Copyright (c)2016,烟台大学计算机与控制工程学院     * All rights reserved.     * 文件名称:项目1-(2).cpp     * 作    者:陈晓琳     * 完成日期:2016年12月16日     * 

cc1562cxl的博客 520

ArcGIS+PLUS+InVEST三件套实战:从零搞定土地利用变化与碳储量预测(附完整数据包)

本文详细介绍了如何整合ArcGIS、PLUS模型和InVEST模型,构建土地利用变化与碳储量预测的完整研究流水线。通过多情景模拟和生态系统服务评估,提供从数据准备到结果验证的实战指南,助力研究者高效完成生态评估项目。

weixin_30399821的博客 544

第十六周 项目1 验证算法 直接插入排序 折半插入排序

问题描述:/* *Copyright(c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:11.cpp *作者:白晓娟 *完成日期:2016年12月15日 *版本:v1.0 * *问题描述:用序列{9,8,7,6,5

S1E2L3的博客 539

黑马Java第二阶段:JavaWeb(笔记)

黑马Java第二阶段:JavaWeb(笔记)

chen的博客 5661

ARM 汇编指令:LSL(逻辑左移) 和 LSR(逻辑右移)

ARM 汇编中的 LSL(逻辑左移)和 LSR(逻辑右移)是基础移位指令,分别实现二进制位的左移和右移操作。LSL 低位补0,等效于乘以2^n;LSR 高位补0,等效于无符号除以2^n。这两个指令可以单独使用或与其他指令结合(如ADD、MOV等),利用ARM的"桶形移位器"硬件实现高效运算。关键特性包括:移位范围0-31(LSL)或1-32(LSR),可选更新标志位,以及与其他指令结合时的无额外开销优势。LSR与ASR(算术右移)的主要区别在于高位填充方式,分别适用于无符号和有符号数处理

guigenyi的专栏 1814

第八次上机实验

上机题1:任意输入两个整数(-1000<n<10000),将两数分别反转(逆序)后两相加,相                加后的结果再反转后输出 我的程序: #include void main() { int x,y,a=0; printf("请输入两个数:\n",x,y); scanf("%d%d",&x,&y); while(x!=0) { a=a*10+x%10

yxj1215430424的专栏 560

android 14.0 控制wifi启用禁用功能实现

在14.0的产品rom定制化开发中,在产品开发中,对于功能的开发的功能也是挺多的,而在对于wifi的功能定制需求,有要求需要通过系统属性来控制wifi开关是否可以打开 来控制是否可以连接wifi,打开控制wifi的功能,接下来分析wifi的开启流程来实现该功能的实现

安卓兼职framework和app工程师的博客 1771

第十六周--验证算法(插入排序)

/* *Copyright (c) 2015 烟台大学计算机与控制工程学院 *All right reserved. *标题:数据结构实践——验证算法 插入排序 *作者:杨珺 *date:2015年12月14日 *版本:V1.0.1 *操作系统:XP *运行环境:VC6.0 *问题描述:用序列{57, 40, 38, 11, 13, 34, 48

Yangjun19113的博客 539

UNet改进(52):轴向+代理注意力让UNet既轻快又精准

本文提出了一种改进的UNet架构,通过引入轴向注意力代理模块增强医学图像分割性能。该模块将二维自注意力分解为行列两个一维注意力操作,结合可学习代理节点进行全局信息聚合,在保持计算效率的同时提升模型对长距离依赖的建模能力。实验表明,该方法在多个医学图像数据集上较传统UNet提升3.2%-5.7%的Dice系数,边界质量显著改善。该方案特别适用于具有方向性结构的医学图像分割任务,如血管、器官等,在计算复杂度和分割精度之间实现了良好平衡。

2501_91516851的博客 327

黑猫带你学eMMC协议第12篇:生产状态感知(PSA)

1 概述 1.1 什么是PSA Production State Awareness (PSA) 生产状态感知 e•MMC设备可以利用其是否在生产环境中的信息,从而在现场运作时进行不同的操作。 例如,在设备低温焊接(soldering)前,将数据写入emmc,可能导致数据出错,而正在焊接期间写入数据,出错的概率可能会更大。在低温焊接之前,emmc设备可以使用一种特定的内部操作去加载内容,这样就能减少数据出错的概率,而在低温焊接后进行常规的操作就行了。 1.2 psa如何进行工作? PSA存在于emmc5.0

黑猫奥利奥的博客 4262

第十六周项目1-验证算法(3)冒泡排序

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

李艺 316

智能合约监控告警:提示工程架构师用AI Prompt实现精准预警

当AI大模型(尤其是代码理解模型如CodeLlama、GPT-4 Code)与区块链数据结合,智能合约监控迎来范式革新。AI模型如何精准理解智能合约的业务特殊性?如何避免"AI幻觉"导致的误报?如何让模型学会区分"正常异常"与"攻击前兆"?答案藏在"提示工程"(Prompt Engineering)中。理解特定智能合约的业务逻辑(如DeFi协议的清算机制、NFT的铸造规则)识别复杂的攻击模式(如重入攻击的调用链特征、闪电贷的套利路径)结合链上链下数据进行多维度推理(如关联价格波动与异常交易)

AI架构全栈开发实战笔记 1011

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

/*    * Copyright (c) 2016, 烟台大学计算机与控制工程学院    * All rights reserved。    * 文件名称 :1.cpp    * 作    者 :杨俊杰   * 完成日期 :2016年 12月15日    * 版 本 号 :v1.0    * 问题描述 :  * 输出描述 :  */ [cpp] vie

Gjyjj的博客 560

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

2015,烟台大学计算机与控制工程学院 文件名称:项目1-验证算法(1)直接插入排序 作 者:杨惠娟 完成日期:2015年12月18日 版 本 号:v1.0 问题描述: 验证直接插入排序 输入描述:无 程序输出:测试数据 1.直接插入排序 #include #define MaxSize 20 typedef int KeyTy

yanghuijuan12138的博客 523

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

第十六周-项目一 验证算法(1)

问题及描述: /* *烟台大学计算机与控制工程学院 作者:郗小艺 完成日期:2016年12月15号 问题描述: 验证冒泡排序 */ 1.直接插入排序 #include #define MaxSize 20 typedef int KeyType; //定义关键字类型 typedef char InfoType[10]; typedef struct

CCCXXXXYYY的博客 804

第十六周项目1--验证算法

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

qxl1057223919的博客 852

第十六周——【项目1 - 验证算法】

/* * Copyright (c) 2015, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:main.cpp,btree.h,btree.cpp * 作者:于奎民 * 完成日期:2015年12月14日 * 版本号:code ::Block 12.11 * 问题描述: 用序列{57, 40, 38, 11, 13, 34,

于奎民的博客 397

第十六周项目1—直接插入排序 折半插入排序

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

tianyi__0626的博客 437

第十六周 项目一 (1) 插入排序之折半插入排序

/* * Copyright (c) 2015, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称: main.cpp * 作者:巩凯强 * 完成日期:2015年12月14日 * 版本号:codeblocks * * 问题描述: 插入排序之折半插入排序 * 输入描述: 无 * 程序输出: 见运行结果 */ #include #d

巩凯强的博客 504

(第十六周项目1)验证算法

用序列{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}作为测试数据,运行并本周视频中所讲过的算法对应 程序,观察运行结果并深刻领会算法的思路和实现方法:(1)直接插入排序;(2)希尔排序;(3)冒泡排序;(4)快速排序;(5)直接选择排序;(6)堆排序;(7)归并排序;(8)基数排序。 (1) 1.直接插入排序 #include #define

suzucheese的博客 462

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

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

huangyujiao6132的博客 764

第十六周--数据结构--项目一--插入排序之折半插入排序

/* * 第十六周--数据结构--项目一--插入排序之折半插入排序 * Copyright (c) 2015, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:main.cpp * 作者:罗海员 * 完成日期:2015年12月29日 * * 问题描述: 详情请见程序运行 * 程序输出:见运行结果 * 最终解释权归罗海员所有,详情咨询17

Sailor_luo的博客 574

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

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

zjhhhhh111的博客 359

第十六周 项目一 验证算法(1) 直接插入排序

/* Copyright(c)2015,烟台大学计算机学院 All rights reserved. 文件名称:test.cpp 作者:杜佳丽 完成日期:2015年12月14日 问题描述:用序列{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}作为测试数据,运行并本周视频中所讲过的算法对应 程序, 观察运行结果并深刻领会算

miaomiao0725的博客 324
上一篇: 第十五周上机实践—项目3—B-树的基本操作
下一篇: 第十六周上机实践—项目1(2)—验证算法 希尔排序 快速排序
Zero_LinLi
博客等级 码龄11年 15粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值