数据结构与算法分析

发布 2021-05-02 17:06:28 阅读 2653

姓名学号___

_ 年__ 月__ 日。

明确说明程序的开发环境和功能要求。针对主要功能,给出如下说明:

1) 输入参数的格式和合法取值范围。

格式:int的整型数据。合法取值范围:-2474836~247483647

2) 输出的格式。

输出的格式:%3d

3) 测试数据。

测试数据:3,5,8,11 2,6,8,9,11,15,20

1) 确定存储结构,并给出所用数据类型的数据结构定义。

该程序采用单链表的存储结构,其数据结构定义如下:

typedef struct node结点类型定义*/

elemtype data;

struct node* next;

}node,*linklistlinklist为结构指针类型*/

2) 给出所用数据类型中每个操作的伪码算法。

所用数据类型中每个操作的伪码算法如下:

1) 初始化单链表。

initlist(linklist *l)

*l=(linklist)malloc(sizeof(node));建立头结点*/

(*l)->next=null建立空的单链表l*/

2) 创建单链表。

void createfromhead(linklist ll是带头结点的空链表指针,通过键盘输入表中元素值,利用头指针建单链表l*/

node *s;

char c;

int flag=1;

while(flagflag初值为1,当输入"$"时,置flag为0,建表结束*/

else flag=0;

3) 归并并输出单链表。

void and(linklist &la,linklist &lb,linklist &lc) /将la,lb,lc置空。pa和pb分别指向两个单链表la和lb的第一个结点*/

linklist pa,pb,pc;

pa=la->next;

pb=lb->next;

lc=pc=la;

while(pa&&pb)

if(pa->data<=pb->data)

else

while(pa)

while(pb)

free(lb);

1) 调试过程中主要遇到哪些问题?是如何解决的?

归并时,如何插入指针,不能确定。通过看书,向同学询问,用while if语句判断得以实现。

2) 经验和体会。

单链表建立有多种方法实现,既可以用头插法也可以用尾插法,本次通过书本中运用的方法实现这次操作,在其中学习了很多,对单链表有了更深的了解。

采用测试数据,列出实际的输入、输出结果。

带详细注释的源程序。

见***詹奇。cpp

数据结构与算法分析

课程内容体系主要内容。教学单元模块。具体教学内容。绪论。绪论部分是全书的预备知识,主要对adl语言 数据结构与算法 算法分析基础 oop 和c 做了简单介绍。基本数据结构。基本数据结构部分包括线性表 堆栈与队列 数组 课程内容体系主要内容。数据结构与算法分析 课程实践内容体系主要内容。课程实验参考教...

数据结构与算法分析总结

在算法设计中,顺序表主要用于检索,而利用栈中的递归思想在算法中则应用非常广泛,如递归排序,分治算法等。树结构 是一种非常重要的非线性数据结构,它是由一个根结点和若干叶结点组成的树状结构,除了根结点每个结点只能有一个父节点,可以有若干子结点,若干个树结构还可以构成森林,树的存储结构也分为顺序存储和链式...

数据结构与算法分析实验

教材 电子信息技术专业实验指导书的第2章 数据结构实验。本实验课学分 0.5 上课周次 10周 17周 各个班不同,13 成绩评定 随课实验,成绩不单独给,但会体现在数据结构与算法分析课程的成绩中,课程总3.5学分,理论课程3学分,实验0.教材 电子信息技术专业实验指导书的第2章 数据结构实验。本实...