数据结构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≤n
5.1 数组及其操作
简单地说,向量和矩阵称为数组。
5.1.1 数组的递归定义
1.一维数组是一个定长线性表(a1,a2,...,an )。
其中:ai为元素,i为下标/序号,1≤i≤n
(a1,a2,...,an )又称为向量。;2.二维数组是一个定长线性表(?1,?2,...,?m),
其中: ?i=(ai1,ai2,...,ain)为行向量,1≤i≤m
由m个行向量组成,记作:;3.三维数组是一个定长线性表( ?1,?2,...,?p )。
其中: ?k=( ?1,?2,...,?m )为定长二维数组,1≤k≤p
例 三维数组A[1..3,1..4,1..2], p=3, m=4, n=2;例2 #define m 4 //定义符号常量m
#define n 5 //定义符号常量n
int a[m]; //m个整数的一维数组
char b[m][n]; //m行n列个字符的二维数组
例3 #define m 4 //定义符号常量m
#define n 5 //定义符号常量n
typedef int ara[m]; //一维数组类型ara
typedef char arb[m][n]; //二维数组类型arb
ara a; //ara类型的变量a
arb b; //arb类型的变量b
?? C语言中定义静态数组时,元素数目必须是常量
错例1 int m=4,n=5;
int a[m][n]; //m,n是变量
错例2 int p;
scanf(”%d”,p);
int c[p]; //p是变量;5.1.3 数组的操作
1.生成一个数组: int a[7];//生成静态一维数组(存储结构)
2.销毁一个数组
3.赋值/修改
a[1]=15;(a[1])++;
4.取元素的值:
a[0]=a[1]*2;
5.1.4 程序设计举例
例1 main()
{ int i,a[10]; //生成一维数组a
for (i=0;i10;i++)
scanf(”%d”,a[i]); //输入元素
for (i=0;i10;i++)
printf(”%d ”,a[i]*a[i]); //输出元素的平方
};例2 生成动态的10个整数的一维数组
int *pa; //指针变量pa
pa=(int *)malloc(10*sizeof(int)); //动态数组pa*
main()
{ int i,n,*pa;
scanf(”%d”,n); //动态输入n
pa=(int *)malloc(n*sizeof(int));//生成动态数组*pa
for (i=0;in;i++)
*(pa+i)=2*i; //指针法引用数组元素,赋值
for (i=0;in;i++)
printf(“%d,”,*(pa+i)); //输出数组元素0,2,4,6,...
for (i=0;in;i++)
scanf(“%d”,pa[i]); //下标法引用数组元素, 输入
for (i=0;in;i++)
printf(%d,,pa[i]); //输出数组元素
free(pa); //释放(销毁)数组空间
};5.2数组的顺序表示和实现
5.2.1顺序表示(顺序存储结构)
1.以行序为主序的顺序存储方式
左边的下标后变化,右边的下标先变化
2.以列序为主序的顺序
您可能关注的文档
- 数据的查询和显示精要.ppt
- 数据的分析全章测试题含答案精要.doc
- 数据的输入与编辑精要.docx
- 数据的采集与音频信号的频谱分析 课程设计精要.doc
- 数据挖掘与统计决策--学科概述 聚类分析 因子分析精要.ppt
- 数据结构 实验一 图精要.doc
- 数据结构 第七章 图精要.pptx
- 数据管理及EpiData软件应用精要.ppt
- 数据结构(Java)-第3章精要.ppt
- 数据结构(线性表)精要.docx
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 保障农民工工资支付协调机制和工资预防机制.docx VIP
- (35页PPT)腾讯iOA零信任安全解决方案.pptx
- 供应链管理第章.ppt VIP
- 有机化学醇酚醚.ppt VIP
- 【真题】2025年湖北省公务员考试《申论》试题及答案解析(县乡卷).pdf VIP
- 《2025年人工智能在制造业应用》.docx VIP
- 2018年浙江省杭州市中考科学试卷含答案.docx VIP
- 东北地区自然地理概况课件市公开课一等奖省赛课微课金奖课件.pptx VIP
- Power Up3课后单元测试 - U7 - Unit Test.docx VIP
- EN755-2铝及铝合金挤压杆材,管材及型材 第2部分:机械性能.doc
原创力文档

文档评论(0)