实验八顺序表的排序实验报告


    

    计算机科学技术系
    实 验 报 告




    专业名称 计算机科学技术
    课程名称 数结构算法
    项目名称 实验八序表排序实验
    班 级
    学 号 1
    姓 名
    组员
    实验日期




    实验八 序表排序实验
    实验题目:希尔排序设计建表函数函数求输出趟排序结果通运行验证
    1问题分析
    程序求希尔排序设计建表函数函数求输出趟排序结果通运行验证
    完成该实验需4子务:
    定义序表存储结构
    建立序表
    定义ShellSort()函数序表L增量序列di[0]di[n1]进行希尔排序
    定义ShellInsert()函数序表L做趟希尔插入排序
    函数中调函数完成操作
    测试数设计:
    49 52 65 97 35 13 27 50
    2概设计
    实现述程序功需:定义序表结构建立序表输入表长度输入表中元素 定义ShellSort()ShellInsert()函数实现简单序查找算法ShellSort()函数调ShellInsert()函数实现排序返回L函数中调函数实现操作
    程序包含3函数:
    1函数main()
    2建序表:SqLset()
    3希尔排序 ShellSort()
    4 ShellInsert()函数



    函数关系:


    Sqlset()
    Main ()
    ShellSort() ShellInsert()

    3 详细设计
    实现概设计中定义数类型操作出算法代码程序模块需代码
    (1)序表
    #define maxlen 50
    typedef struct{ 定义序表
    int r[maxlen]
    int last
    }Seqlist
    Sequenlist *L
    (2) 建立序表输入表长度输入表中元素
    void SqLset(Seqlist *L){ 输入表长度输入表中元素
    int i
    L>last1
    printf(请输入表长)
    scanf(d&i)
    if(i>0){
    printf(请输入表中元素\n)
    for(L>last1L>lastlast++)
    scanf(d&L>r[L>last])
    }
    }
    (3)定义ShellSort()函数序表L增量序列di[0]di[n1]进行希尔排序
    Seqlist *ShellSort(Seqlist *Lint di[]int n){
    int ij
    for(i0i ShellInsert(Ldi[i])
    printf(第d趟希尔排序增量d排序结果\ni+1di[i])
    for(int j1jlastj++)
    printf(2d L>r[j])
    printf(\n)
    }
    return L
    }
    (4)定义ShellInsert()函数序表L做趟希尔插入排序
    void ShellInsert(Seqlist *Lint delta){
    int ijk
    for(i1i for(ji+deltajlastjj+delta){
    L>r[0]L>r[j]
    kjdelta
    while(L>r[0]r[k] && k>0){
    L>r[k+delta]L>r[k]
    kkdelta
    }
    L>r[k+delta]L>r[0]
    }
    }
    }
    (5)函数中调函数完成操作
    int main()
    {
    Seqlist *L
    int b[3]{421}
    L(Seqlist *)malloc(sizeof(Seqlist))
    SqLset(L)
    LShellSort(Lb3)
    printf(终希尔排序结果\n)
    for(int i1ilasti++)
    printf(2d L>r[i])

    return 0
    }


    4调试分析
    编译错误

    5户说明
    程序名class2exeDEBUG文件夹里面运行环境Visual c++ 60








    6测试结果



    7附录
    #include malloch
    #include stdioh
    #define maxlen 50
    typedef struct{ 定义序表
    int r[maxlen]
    int last
    }Seqlist
    void SqLset(Seqlist *L){ 输入表长度输入表中元素
    int i
    L>last1
    printf(请输入表长)
    scanf(d&i)
    if(i>0){
    printf(请输入表中元素\n)
    for(L>last1L>lastlast++)
    scanf(d&L>r[L>last])
    }
    }
    void ShellInsert(Seqlist *Lint delta){
    序表L做趟希尔插入排序delta该趟排序增量
    int ijk
    for(i1i for(ji+deltajlastjj+delta){
    L>r[0]L>r[j]
    kjdelta
    while(L>r[0]r[k] && k>0){
    L>r[k+delta]L>r[k]
    kkdelta
    }
    L>r[k+delta]L>r[0]
    }
    }
    }
    Seqlist *ShellSort(Seqlist *Lint di[]int n){
    序表L增量序列di[0]di[n1]进行希尔排序
    int ij
    for(i0i ShellInsert(Ldi[i])
    printf(第d趟希尔排序增量d排序结果\ni+1di[i])
    for(int j1jlastj++)
    printf(2d L>r[j])
    printf(\n)
    }
    return L
    }
    int main()
    {
    Seqlist *L
    int b[3]{421}
    L(Seqlist *)malloc(sizeof(Seqlist))
    SqLset(L)
    LShellSort(Lb3)
    printf(终希尔排序结果\n)
    for(int i1ilasti++)
    printf(2d L>r[i])

    return 0
    }


    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    改装电表实验报告

    课程编号 得分 教师签名 批改日期 XX 大 学 实 验 报 告 课程名称: 大学物理...

    5年前   
    6753    0

    实验一线性表操作实验报告

    XX大学计算机学院实验报告课程名称   数据结构   实验名称__线性表操作   实验报告要求:1.实验目的  2.实验内容   3.实验步骤    4.运行结果   5.流程图  ...

    3年前   
    1658    0

    化学实验报告

    化学实验报告  化学是一门以实验为基础的学科。化学上的许多理论和定律都是从实验中发现归纳出来的。同时,化学理论的应用、评价也有赖于实验的探索和检验。虽然到了近代乃至现代,化学的飞速进步已经产生...

    10年前   
    993    0

    教育实验报告

    教育实验报告  教育实验报告  对某种教育现象实验后,要对整个实验过程进行全面总结,提出一个客观的、概括的、能反映全过程及其结果的书面材料,即谓教育实验报告。教育实验报告可分为三部分:①前言。...

    12年前   
    725    0

    **学院实验报告

    实验内容:使用金融数据库查找宏观经济及行业相关数据,使用Excel进行作图分析。根据所得数据以及图形分析相关问题。实验目的:掌握金融数据库软件的相关使用,操作,快捷查找数据,能够制作美观图形,对于数据有效分析。

    3年前   
    659    0

    上机实验报告

    上机实验报告  一.     题目1.  建立一个学生档案,内容包括学号,姓名,年龄,性别,数学,物理和英语3门功课成绩。要求实现以下功能:1)        数据输入;2)        查...

    8年前   
    842    0

    电路实验报告

    实验一 元件特性的示波测量法一、实验目的1、学习用示波器测量正弦信号的相位差。2、学习用示波器测量电压、电流、磁链、电荷等电路的基本变量3、掌握元件特性的示波测量法,加深对元件特性的理解。二...

    2年前   
    2780    0

    爱情实验报告

    爱情实验报告  爱情实验报告   这学期要做一周的模块实验,我和欣儿分在一组,欣儿是班里的学习委员,负责收缴每天实验后大家必写的实验报告。    欣儿长的很美,碰到人总是浅浅地笑,不象有些女生...

    12年前   
    730    0

    CADCAM实验报告

     二叉树的遍历实验一、实验名称:二叉树的遍历实验。二、实验目的:1、掌握CAD/CAM系统中常用的数据结构二叉树的概念、存储结构以及二叉树遍历技术。2、熟练应用C语言编写二叉树的建...

    4年前   
    933    0

    生物实验报告

    生物实验报告  实验   生物组织中还原糖、脂肪、蛋白质的鉴定  一、实验目的  初步掌握鉴定生物组织中还原糖、脂肪、蛋白质的基本方法。  二、实验原理  1.还原糖的鉴定原理  生物组织中普...

    9年前   
    816    0

    oracle实验报告

    《Oracle数据库设计与 实现》 总结报告 成绩:-------------- ...

    2年前   
    489    0

    汇编实验报告

    XX大 学 计 算 机 学 院、软 件 学 院实 验 报 告 学号: 姓名:专业:计算机科学与技术 班级: 第X周 课程名称   汇编语言程序设计课程设计(第四次)实验课时30课时...

    1年前   
    431    0

    GPIO实验报告

    通过实验掌握 ARM 芯片使用 GPIO 端口。掌握 GPIO 端口控制 LED 显示。掌握系统时钟的配置。掌握库开发原理及方法。

    3年前   
    1403    0

    科技实验报告

    科技实验报告  科技实验报告   一、定义与作用  实验报告,就是在某项科研活动或专业学习中,实验者把实验的目的、方法。步骤、结果等,用简洁的语言写成书面报告。  实验报告必须在科学实验的基础...

    9年前   
    722    0

    物理实验报告

    物理实验报告  物理 实验报告              指导教师    同组者                     实验日期  2003 年9月21日   实验名称 实验一 测量物质的密...

    10年前   
    831    0

    实验报告格式

    实验报告格式实验序号:          实验项目名称:学 号 姓 名 专业、班 实验地点 指导教师 时间 一、实验目的及要求 二、实验设备(环境)及要求 三、实验内容与步骤 四、实验结果与数...

    11年前   
    765    0

    土力学实验报告

     园林学院土力学实验报告学生姓名 学 号 专业班级 土木工程 ...

    1年前   
    339    0

    化学实验报告格式

    化学实验报告格式  例一  定量分析实验报告格式   (以草酸中h2c2o4含量的测定为例)   实验题目:草酸中h2c2o4含量的测定   实验目的:   学习naoh标准溶液的配制、标定及...

    8年前   
    615    0

    实验报告格式示例

    实验报告格式示例  实验报告格式示例  例一  定量分析实验报告格式  (以草酸中H2C2O4含量的测定为例)  实验题目:草酸中H2C2O4含量的测定  实验目的:  学习NaOH标准溶液的...

    10年前   
    701    0

    相机标定实验报告

    相机标定一、 实验原理相机标定就是求解相机的内参数以及畸变参数的过程。相机的标定主要有两种:传统的摄像头标定方法和摄像头自标定方法,典型的有:(1)Tsai(传统的标定方法);(2)张正友(介...

    1年前   
    395    0

    文档贡献者

    文***品

    贡献于2022-04-06

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档