数据结构5-数组.ppt

数据结构5-数组.ppt

ID:50101577

大小:191.00 KB

页数:29页

时间:2020-03-08

数据结构5-数组.ppt_第1页
数据结构5-数组.ppt_第2页
数据结构5-数组.ppt_第3页
数据结构5-数组.ppt_第4页
数据结构5-数组.ppt_第5页
资源描述:

《数据结构5-数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2006-9华中科技大学计算机学院(5)数据结构第五章数组和广义表引言:线性表:L=(a1,a2,...,an),ai是同类型的元素,1≤i≤n数组:A=(a1,a2,...,an)若ai是同类型的元素,A是一维数组,1≤i≤n若ai是同类型的定长线性表,A是多维数组,1≤i≤n广义表:Ls=(a1,a,...,an)ai可以是同类型的元素或不定长的线性表,1≤i≤n5.1数组及其操作简单地说,向量和矩阵称为数组。5.1.1数组的递归定义1.一维数组是一个定长线性表(a1,a2,...,an)。其中:ai为元素,i为下标/序号,1≤i≤n(a1,a2,...,an

2、)又称为向量。2.二维数组是一个定长线性表(1,2,...,m),其中:i=(ai1,ai2,...,ain)为行向量,1≤i≤m由m个行向量组成,记作:(a11a12...a1n)(a21a22...a2n)............(am1am2...amn)Am*n=即Am*n=((a11a12...a1n),(a21a22...a2n),...,(am1am2...amn))或由n个列向量组成,记作:))a11a12a1na21a22a2nam1am2amn))))Amxn=3.三维数组是一个定长线性表(1,2,...,p)。其中:k=(1

3、,2,...,m)为定长二维数组,1≤k≤p例三维数组A[1..3,1..4,1..2],p=3,m=4,n=2a111a112a121a122a131a132a141a142a211a212a221a222a231a232a241a242a311a312a321a322a331a332a341a342第1页第2页第3页5.1.2数组的类型定义和变量说明:例1inta[10];//10个整数的一维数组charb[4][5];//4行5列个字符的二维数组floatc[3][4][2];//3*4*2个实数的三维数组A3*4*2=例2#definem4//定义符号

4、常量m#definen5//定义符号常量ninta[m];//m个整数的一维数组charb[m][n];//m行n列个字符的二维数组例3#definem4//定义符号常量m#definen5//定义符号常量ntypedefintara[m];//一维数组类型aratypedefchararb[m][n];//二维数组类型arbaraa;//ara类型的变量aarbb;//arb类型的变量bC语言中定义静态数组时,元素数目必须是常量错例1intm=4,n=5;inta[m][n];//m,n是变量错例2intp;scanf(”%d”,&p);intc[p];//

5、p是变量5.1.3数组的操作1.生成一个数组:inta[7];//生成静态一维数组(存储结构)2.销毁一个数组3.赋值/修改a[1]=15;(a[1])++;4.取元素的值:a[0]=a[1]*2;5.1.4程序设计举例例1main(){inti,a[10];//生成一维数组afor(i=0;i<10;i++)scanf(”%d”,&a[i]);//输入元素for(i=0;i<10;i++)printf(”%d”,a[i]*a[i]);//输出元素的平方}a01234563216a0123456例2生成动态的10个整数的一维数组int*pa;//指针变量papa=

6、(int*)malloc(10*sizeof(int));//动态数组pa*main(){inti,n,*pa;scanf(”%d”,&n);//动态输入npa=(int*)malloc(n*sizeof(int));//生成动态数组*pafor(i=0;i

7、rintf("%d,",pa[i]);//输出数组元素free(pa);//释放(销毁)数组空间}pa→01234567895.2数组的顺序表示和实现5.2.1顺序表示(顺序存储结构)1.以行序为主序的顺序存储方式左边的下标后变化,右边的下标先变化2.以列序为主序的顺序存储方式左边的下标先变化,右边的下标后变化例1二维数组a[1..3,1..2],b是首地址,s是元素所占的单元数a11a12a21a22a31a32a11a12a21a22a31a32a11a21a31a12a22a32序号内存地址123456123456序号内存地址bb+sb+2*sb+3*sb+

8、4*sb+

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。