数据结构课程的设计校园超市商品销售统计系统.docVIP

  • 22
  • 0
  • 约1.01万字
  • 约 19页
  • 2018-08-02 发布于贵州
  • 举报

数据结构课程的设计校园超市商品销售统计系统.doc

数据结构课程的设计校园超市商品销售统计系统

《数据结构》课程设计报告 目录 TOC \o 1-3 \h \u HYPERLINK \l _Toc14062 1.需求分析 PAGEREF _Toc14062 1 HYPERLINK \l _Toc17264 1.1 问题描述 PAGEREF _Toc17264 1 HYPERLINK \l _Toc8312 1.2 设计内容 PAGEREF _Toc8312 1 HYPERLINK \l _Toc6701 2.概要设计 PAGEREF _Toc6701 1 HYPERLINK \l _Toc29011 2.1 数据结构算法选择 PAGEREF _Toc29011 1 HYPERLINK \l _Toc31487 2.2 算法要点归纳 PAGEREF _Toc31487 1 HYPERLINK \l _Toc23763 2.3 下面是针对本程序专门定义的数据结构类型 PAGEREF _Toc23763 4 HYPERLINK \l _Toc30272 2.4 各组织结构与功能分析 PAGEREF _Toc30272 5 HYPERLINK \l _Toc31472 3 测试结果及其分析 PAGEREF _Toc31472 6 HYPERLINK \l _Toc4325 4 小结 PAGEREF _Toc4325 8 HYPERLINK \l _Toc24105 参考文献 PAGEREF _Toc24105 9 HYPERLINK \l _Toc5994 附录:程序源代码 PAGEREF _Toc5994 9 PAGE \* MERGEFORMAT PAGE \* MERGEFORMAT 8 1.需求分析 1.1 问题描述 设计一系统,实现超市定期对销售各商品的记录进行统计,可按商品的编号、单价、销售量或销售额做出排名。 1.2 设计内容 在本设计中,首先从数据文件中读出各商品的信息记录,存储在顺序表中。各商品的信息包括:商品编号、商品名、单价、销出数量、销售额。商品编号共4位,采用字母和数字混合编号,如:A125,前一位为大写字母,后三位为数字,按商品编号进行排序时,可采用基数排序法。对各商品的单价、销售量或销售额进行排序时,可采用多种排序方法,如直接插入排序、冒泡排序、快速排序,直接选择排序等方法。在本设计中,对单价的排序采用冒泡排序法,对销售量的排序采用快速排序法,对销售额的排序采用堆排序法。 2.概要设计 2.1 数据结构算法选择 本设计主要采用了顺序表。共用四种排序方法:冒泡排序法,快速排序法,堆排序法,基数排序法。 2.2 算法要点归纳 冒泡排序: 冒泡排序的算法思想是:通过无序区中相邻元素关键字间的比较和位置的交换,使关键字最小的元素如气泡一般逐渐往上“漂浮”直至“水面”。 整个算法是从最下面的元素开始,对每两个相邻元素的关键字进行比较,且使关键字较小的元素换至关键字较大的元素之上,使得经过一趟冒泡排序后,关键字最小的元素到达最上端。接着,再在剩下的元素中找关键字次小的元素,并把它换在第二个位置上。依次类推,一直到所有元素都有序为止。 图 SEQ 图 \* ARABIC 1:冒泡排序算法思想 快速排序: 快速排序是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 图 SEQ 图 \* ARABIC 2:快速排序算法思想 堆排序: 堆排序只需要一个记录大小的辅助空间,每个待排序的记录仅占有一个存储空间。它的基本思想是:首先按大根堆的定义将R[1…n]调整为堆(这个过程为初始建堆),交换R[1]和R[n](将最大元素R[1]归位,放到排序序列的最后);然后,将R[1…n-1]调整为堆,交换R[1]和R[n-1];如此反复进行,直到交换了R[1]和R[2]为止。 图 SEQ 图 \* ARABIC 3:堆排序算法思想 4.基数排序: 基数排序是属于“分配式排序”,基数排序法又称“桶子法”。顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O(nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的比较性排序法。 图 SEQ 图 \* ARABIC 4:基数排序算法思想 2.3 下面是针对本程序专门定义的数据结构类型 1.商品信息的元素类型定义: ? typedef?struct?node? {? char?num[4];?? /*商品编号*/? ? char?name[

文档评论(0)

1亿VIP精品文档

相关文档