数据结构数组计算机中的应用,数据结构数组应用-课程设计.doc

数据结构数组应用-课程设计

计算机学院

数据结构课程设计

题 目:数组应用

班 级:网络工程14104班

姓 名:肖勇 学 号:201417030104

同组人姓名:舒向东

起 迄 日 期: 2014.12.28-2015.3.1

课程设计地点: 湖南文理学院

指导教师:邹汉斌

评阅意见:

成绩评定:

评阅人: 日期:

完成日期:2014年12月

目录

1.需求分析…………………………………………………………3

2.概要设计(含流程图)…………………………………………3

3.详细设计(含代码分析)………………………………………3

4.调试分析和测试结果……………………………………………11

5.总结………………………………………………………………12

6.参考文献…………………………………………………………12

7.致谢………………………………………………………………12

1.需求分析

该程序可以根据用户要求定义任意定义四维数组四个下标的最大值,用户可以根据需要输入一定数目的元素放入四维数组中,放入数组中元素的数目由用户自己决定,但不能大于数组的存储空间,用户如果想在数组中放入更多的元素,可以增大数组的存储空间。根据实验要求,从键盘输入的元素以行优先存入数组,以列优先显示出来。

2.概要设计(含流程图)

该程序包含两个函数,一个函数是把从键盘获得的元素以行优先顺序放入四维数组中,另一函数是把数组中的元素以列优先顺序输出到显示屏。Main函数中有四维数组的定义和赋值,还有以上两个函数的调用,实现了实验要求的功能。

以下是本查询的实验流程图

四维数组

四维数组

将数组中的元素以列优先书序显示到显示屏从键盘获取元素以行优先放入四维数组中

将数组中的元素以列优先书序显示到显示屏

从键盘获取元素以行优先放入四维数组中

从键盘输入元素以列优先顺序显示四维数组中的元素

从键盘输入元素

以列优先顺序显示四维数组中的元素

3.详细设计(含代码分析)

3.1、定义四维数组

动态HYPERLINK "/view/209670.htm" \t "_blank"数组是指在声明时没有确定数组大小的数组,即忽略方括号中的下标;当要用它时,可随时用ReDim语句(C语言中用HYPERLINK "/view/736228.htm" \t "_blank"malloc语句)重新指出数组的大小。使用动态HYPERLINK "/view/209670.htm" \t "_blank"数组的优点是可以根据用户需要,有效利用 HYPERLINK "/view/1375172.htm" \t "_blank" 存储空间。

其原理以三维数组为例说明:先遵循从外层到里层,逐层申请的原则:

最外层HYPERLINK "/view/159417.htm" \t "_blank"指针是array,它是个三维指针,所指向的是array[],其为二维指针。

所以给array

申请内存应:

array=(int***)HYPERLINK "/view/653964.htm" \t "_blank"calloc(n1,sizeof(int**));

次层HYPERLINK "/view/159417.htm" \t "_blank"指针是array[],它是个二维指针,所指向的是array[][],其为一维指针。所以给array[]

申请内存应:

for(i=0;i

{

array[i]=(int**)HYPERLINK "/view/653964.htm" \t "_blank"calloc(n2,sizeof(int*));

}

最内层HYPERLINK "/view/159417.htm" \t "_blank"指针是array[][],它是个一维指针,所指向的是array[][][],其是个HYPERLINK "/view/1311503.htm" \t "_blank"整型 HYPERLINK "/view/346799.htm" \t "_blank" 常量。所

以给array[][]申请内存应:

for(i=0;i

{

for(j=0;j

{

array[i][j]=(int*)HYPERLINK "/view/653964.htm" \t "_blank"calloc(n3,s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值