数据结构课程设计

发布 2022-10-01 21:45:28 阅读 1943

成绩。xx大学。课程设计(数据结构)

院、系xxx专业 xxx

姓名 xxx 学号xxx

指导教师 xxx

xx 年 xx 月 xx日。

排序综合。xxx

xxx,xxx

摘要:排序是计算机程序设计的一种重要操作,他的功能是将一个数据元素(或记录)的任意序列,重新排列一个按关键字有序的序列。由于待排序的记录数量不同,使得排序过程中涉及的储存器不同,可将排序方法分为两大类:

一类是内部排序,指的是待排序记录存放在计算机储存器中进行的排序过程;另一类是外部排序。指的是排序记录的数量很大,以致内存一次不能容纳全部记录,在排序过程中尚需对外存进行访问的排序过程。

内部排序又分为:插入排序、快速排序、选择排序、归并排序和基数排序,其中插入排序又分为:直接插入排序、其他插入排序和希尔排序;选择排序分为:

简单选择排序、树形选择排序和堆排序;基数排序又分为:多关键字排序和链式基数排序。

本次课程设计就是内部排序中的堆排序排序方法。

关键字: 内部排序关键字随机函数随机数堆排序。

一、问题描述。

利用随机函数产生n个随机整数(200以上),对这些数进行由小到大的排序。

二、设计要求。

采用堆排序。

三、概要设计。

1、分析设计的程序的功能:

1.用户输入任意个数(200以上),产生相应的随机整数;

2.程序可以利用堆排序法对给出的数据进行由小到大的排序。

2、程序运行平台:

visual studio 2010版本。

3.程序的模块。

3.1输入。

3.2选择。

3.3输出。

4.模块的功能。

4.1输入模块的功能:利用随机函数产生n个数(200个)

create(a,b,&n)是一个随机函数,它可以随机产生200个随机数。

4.2选择模块的功能:选择数字则进行对应的排序;选择字母则进行重新产生随机数和退出的操作。

堆排序 duisort(a,n)

c(c重新产生200个随机数create(a,b,&n)

n(n退出程序。

4.3输出模块的功能:把利用各种排序方法排好顺序的数输出到一个文件夹中。

5.结构体。

1. typedef sqlist heaptype堆采用顺序表存储表示。

void heapadjust (heaptype &h,int s,int m)

elsevoid init_array(int a,int n)

int i;

srand(time(null));

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

void init_sort(int a,int n)

int i;

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

heap_sort(a,i);

void display(int a,int n)

int i;

for(i=n;i>=1;i--)

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

void h_sort(int a,int i,int j,int k,int n)

int t;

if(n if(n if(a[j]>=a[i]) return;

if(a[j] t=a[j];

a[j]=a[i];

a[i]=t;

return;

if(a[i]<=a[k]&&a[i]<=a[j]) return;

elseelse if(a[j]>a[k])

void heapsort(int a,int n)

int t;

t=a[n];

a[n]=a[1];

a[1]=t;

h_sort(a,1,2,3,n-1);

return;

int main()

int i;

int array[n+1];

init_array(array,n);

init_sort(array,n);

for(i=n;i>=1;i--)

display(array,n);

syetem(“pause”);

return 0;

五.程序调试:

六、心得体会:

说实话,也这篇实践报告的时候,由于写的较晚,时间比较紧,但尽管如此,仍然保质保量的完成,这也就需要我在做课程设计的这段时间比那些一开始就做的同学花更多的时间,尽管有些繁忙,但在做这份课程实践的时候仍然学到了很多东西和发现了一些问题。

第一个就是写程序的时候还不够认真,时而会出现一些小问题,导致程序不能运行,但经过不断的调试修改,终于成功设计出了程序,并运行出题目所要求的结果。

第二个就是要虚心向他人求教,有些语句不会编,就和他人一同**,并得出正确的语句;有些自己找不到错误不能修改的语句,也会同他人一同讨论一下以找出错误所在,运行出结果。

第三个就是要有信心不要放弃。在编写过程中可能会遇到一个找了很久都没有找到的错误,程序总是不能运行,这时不应该轻言放弃,更应该保持平和的心态去寻找错误,也许不经意间错误就被你给找到了,程序能够正常运行了。

在编写过程中也发现了不熟练的情况,以后更应该多编,多练,以完善的编程语言,提高自己的编程水平,强化自己的编程能力。

总之一句话,通过将近两个星期的努力,终于成功完成了这份课程设计,感到很开心,以后我会更加努力。

[1].《数据结构教程严蔚敏吴伟民编著清华大学出版社。

2].《c语言程序设计谭浩强张基温编著高等教育出版社。

3]. 数据结构与算法实用教程》 刘玉龙主编电子工业出版社。

4].《数据结构课程设计苏仕华等主编机械工业出版社。

数据结构课程设计

课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...

数据结构课程设计

数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...

数据结构课程设计

班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...