最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

数据结构实验报告实验5

来源:动视网 责编:小OO 时间:2025-09-24 17:19:08
文档

数据结构实验报告实验5

本科实验报告课程名称:数据结构实验项目:排序实验地点:迎西校区逸夫楼302专业班级:软件1109学号:2011004872学生姓名:栗永春指导教师:牛之贤年月日排序一、实验目的和要求目的与要求二、实验内容和原理简述题目要解决的问题是什么,并说明输入和输出数据的形式。简述存储结构和算法的基本思想。三、主要仪器设备使用的计算机:硬件配置、软件环境四、操作方法与实验步骤列出调试通过的源程序。习题1:/**************************************************
推荐度:
导读本科实验报告课程名称:数据结构实验项目:排序实验地点:迎西校区逸夫楼302专业班级:软件1109学号:2011004872学生姓名:栗永春指导教师:牛之贤年月日排序一、实验目的和要求目的与要求二、实验内容和原理简述题目要解决的问题是什么,并说明输入和输出数据的形式。简述存储结构和算法的基本思想。三、主要仪器设备使用的计算机:硬件配置、软件环境四、操作方法与实验步骤列出调试通过的源程序。习题1:/**************************************************


本科实验报告

课程名称:        数据结构            

实验项目:           排序              

实验地点:     迎西校区逸夫楼302      

专业班级:软件1109  学号: 2011004872  

学生姓名:          栗永春             

指导教师:          牛之贤             

 

年     月     日

排序
一、实验目的和要求

目的与要求

二、实验内容和原理

简述题目要解决的问题是什么,并说明输入和输出数据的形式。

简述存储结构和算法的基本思想。

三、主要仪器设备

使用的计算机:硬件配置、软件环境

四、操作方法与实验步骤

列出调试通过的源程序。

习题1:

/*********************************************************************

*    1.设计一个用链表表示的直接选择排序算法,并用程序实现。         *

* 算法说明:已知待排序初始序列用单链表存贮,头指针head指向第一个结点 *

* ,从这个待排序列中找出最小结点,插入head之后,用r来指示。r以前为已 *

* 排序序列,r以后为未排序序列。再从未排序序列中找出最小结点插入r的后 *

* 面,让r指向这个结点。反复执行这个过程,直到排好序。                *

*********************************************************************/

#include

#include

//结点

typedef struct no

{

    int x;

    struct no *next;

}Node, *Node_;

//函数声明

Node_ Structure();//构建序列链表

void Show(Node_ head);//打印链表

void Sort(Node_ head);//排序算法

void Myfree(Node_ head);//空间释放算法

void main()

{

    Node head;

    head.next = Structure();

    if(head.next == NULL) 

    {

        printf("构建序列表失败!\\n");

        return ;

    }

    Show(head.next);

    Sort(&head);

    Show(head.next);

    Myfree(head.next);

}

//用于构造一个序列链表,返回其第一个元素的指针

Node_ Structure()

{

    int x;

    scanf("%d", &x);

    if(x!=0)

    {

        Node_ q=(Node_)malloc(sizeof(Node));

        q->x = x;

        q->next = Structure();

        return q;

    }

    return NULL;

}

//释放申请的空间

void Myfree(Node_ head)

{

    Node_ p;

    while(head != NULL)

    {

        p = head;

        head = head->next;

        free(p);

    }

}

//打印序列链表中的数据

void Show(Node_ head)

{

    while(head != NULL)

    {

        printf("%4d", head->x);

        head = head->next;

    }

    printf("\\n");

}

//排序算法

void Sort(Node_ head)

{

    Node_ r=head, p;

    Node_ ident;//用来记录中间量

    Node_ identl;//用来记录中间量的前一个结点

while(r->next != NULL)

    {

        ident = r->next;

        identl = r;

        for(p=ident; p->next!=NULL; p=p->next)

        {

            if((p->next->x) < (ident->x))

            {

                identl = p;

                ident  = p->next;

            }

        }

        identl->next = ident->next;

        ident->next = r->next;

        r->next = ident;

        r = r->next;

    }

}

习题2:

/**********************************************************************

*2.对N个关键字取整数的记录进行整序,以使所有关键字为非负数的记录排在 *

* 关键字为负数的记录之前,要求使用最少的附加空间,且算法的时间复杂度  *

* 为O(N)。                                                            *

**********************************************************************/

#include

#define MAX 100

void main()

{

    int a[MAX];

    int i, j, n;

    printf("请输入记录的总个数。\\n");

    scanf("%d", &n);

    printf("请输入各记录(仅输入关键字)\\n");

for(i=1; i <= n; i++)

    {

        scanf("%d", &a[i]);

    }

    a[0] = a[1];

    i=1; j=n;

    while(i    {

        while(i=0) --j;

        a[i] = a[j];

        while(i        a[j] = a[i];

    }

    a[i] = a[0];

    for(i=1; i<=n; i++)//打印输出

    {

        printf("%4d", a[i]);

    }

    printf("\\n");

}

五、实验数据记录和处理

列出上面程序对应的运行结果。

六、实验结果与分析

分析程序的优缺点、时空性能

七、讨论、心得

     改进思想,写出心得体会

注:填写内容用5号,宋体,单倍行距

文档

数据结构实验报告实验5

本科实验报告课程名称:数据结构实验项目:排序实验地点:迎西校区逸夫楼302专业班级:软件1109学号:2011004872学生姓名:栗永春指导教师:牛之贤年月日排序一、实验目的和要求目的与要求二、实验内容和原理简述题目要解决的问题是什么,并说明输入和输出数据的形式。简述存储结构和算法的基本思想。三、主要仪器设备使用的计算机:硬件配置、软件环境四、操作方法与实验步骤列出调试通过的源程序。习题1:/**************************************************
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top