数据结构 第01讲:预备知识.ppt

数据结构 第01讲:预备知识.ppt

ID:52544347

大小:318.00 KB

页数:24页

时间:2020-04-10

数据结构    第01讲:预备知识.ppt_第1页
数据结构    第01讲:预备知识.ppt_第2页
数据结构    第01讲:预备知识.ppt_第3页
数据结构    第01讲:预备知识.ppt_第4页
数据结构    第01讲:预备知识.ppt_第5页
资源描述:

《数据结构 第01讲:预备知识.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、C语言回顾主要内容:数组指针枚举结构体文件包含、宏、类型定义动态内存分配基本输入输出定义:类型说明符数组名[常量表达式];inta[10];一维数组引用:数组名[下标]下标可以是整型常量、整型变量或整型表达式。下标起始:从0开始;要注意使用时下标不要越界;a[0]=a[5]+a[7]-a[2*3]i=3;a[i]=a[i-1]+a[i-2];初始化:inta[10]={0,1,2,3,4,5,6,7,8,9};inta[10]={0,1,2,3,4};inta[]={1,2,3,4,5};一维数组在内存中的存放例如:floatmark[100];mark[0]mark[1]mar

2、k[2]mark[3]...mark[99]86.592.077.552.0...94.0低地址高地址定义:基类型*指针变量名;int*p1,*p2,*i_point;指针引用:两种运算符:&、*inti,*p;p=&i;*p=3;初始化:inti,*p=&i,j,*q;q=&j;指针变量在使用之前必须初始化——使得指针变量指向一个有效的地址变量的地址:起始地址、大小、存储格式指针变量intn=320;int*p=&n;*p=450;说明:p的值为&n(n的地址)*p与变量n等价举例:n200032032002000p……指针变量使用前必须初始化!!!枚举枚举类型定义的一般形式:

3、enum枚举名{枚举常量取值表};enum是关键字;枚举名和枚举常量是标识符;枚举常量之间用逗号分隔。例如:enumcolor1{blue,green,red};enumweekday{Sun,Mon,Tue,Wed,Thu,Fri,Sat};枚举类型实际上是一个整型符号常量的集合,每一个枚举符都对应着一个整数值Sun,Mon~Sat的整型值依次为:0,1,2,3,4,5,6,7类型声明:struct结构体名{成员表列};变量定义:(1)先声明结构体类型再定义变量名(2)在声明类型的同时定义变量(3)直接定义结构体类型变量,不出现结构体名。变量的引用:student1.num=1

4、0010;成员(分量)运算符“.”结构体数组和指针(*p).成员名等价于p->成员名指向运算符“->”结构体enumSex{nan,nv};structStudent{charname[10];intnum;Sexsex;}stu[5],*s;s=stu;strcpy(s->name,“zhangsan”);s->num=10001;文件包含、宏、类型定义#include#definePI3.1415926#definemax(a,b)((a)>(b)?(a):(b))typedefintLong_int[3];typedefstruct{charname[10

5、];intnum;}Student,*PStudent;例:对10个整数排序#includevoidmain(){inta[10];inti,j,t;printf(″输入10个整数:″);for(i=0;i<10;i++)scanf("%d",&a[i]);printf("");动态内存分配for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];ai+1]=t;}printf(″排序后的数为:″);for(i=0;i<10;i++)printf(″%d″,a[i]);p

6、rintf(″″);}/*程序结束*/程序运行结果如下:input10numbers:10481265-76100-45123↙thesortednumbers:-76-4501481265100123问题:如果待排序的数个数事先未知,如何作?问题:如果待排序的数个数事先未知,如何作?#includevoidmain(){inta[100];//事先定义一个足够大的数组存数intn,i,j,t;printf("输入待排序的整数的个数:");scanf("%d",&n);printf("输入%d个整数:",n);for(i=0;i

7、f("%d",&a[i]);printf("");……………………for(j=0;ja[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf(″排序后的数为:″);for(i=0;i

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

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

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