下载此文档

计算机程序设计基础——1第十一讲.ppt


文档分类:IT计算机 | 页数:约45页 举报非法文档有奖
1/45
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/45 下载此文档
文档列表 文档介绍
第九讲结构
1
例:跳马。依下图将每一步跳马之后的位置(x,y)放到一个“结点”里,再用“链子穿起来”,形成一条链,相邻两结点间用一个指针将两者连到一起。
结构的概念与应用
2
依上图有7个结点
(x1,y1)
(x2,y2)
(x6,y6)
(x7,y7)
为了表示这种既有数据又有指针的情况,引入结构这种数据类型。
3
结构——是一种构造类型的数据类型。结构是数目固定、类型不同的若干变量的有序集合。结构与数组的区别在于结构内允许有不同类型的数据。
结构的定义,格式如下:
struct <结构名>
{
<成员说明>
}
4
例如跳马棋局可如下定义
struct TM
{
int x,y; // 结构TM的成员,x,y为整数型
struct TM *next // 结构TM的成员,属TM型
}
下面的表是马的跳步方案,从左下角跳到右上角
结点
n1
n2
n3
n4
n5
n6
n7
x
y
0
0
1
2
2
4
4
3
6
4
7
2
8
4
5
8
4
NULL
NULL为空地址
下面是形成链表的一个参考程序(分三页)
2
4
&n4
1
2
&n3
0
0
&n2
&n1
head
6
//
#include <> // 预编译命令
#define null 0 // 定义空指针常量
struct TM // 定义结构TM
{
int x,y; // 整型变量x,y
struct TM *next; // 指向TM结构的指针
};
void main() // 主函数
{ // 主函数开始
int i; // 声明整型变量
// 声明TM结构n1~n7,结构指针head,p
struct TM n1,n2,n3,n4,n5,n6,n7,*head,*p;
7
// 分别对TM结构n1~n7中的x,y赋值
=0;=0;
=1;=2;
=2;=4;
=4;=4;
=6;=4;
=7;=2;
=8;=4;
// head赋值为n1,即head指向n1
head=&n1;
// n1~n7构成链表
=&n2;
=&n3;
=&n4;
=&n5;
=&n6;
=&n7;
// n7的next指针赋值为空指针
=null;
8
p=head; // p赋值为head,即p指向head所指的内容
i=1; // i赋值为1
do // 直到型循环
{ // 循环体开始

// 输出结点信息
printf("结点%d: x=%d, y=%d\n",i,p->x,p->y);
p=p->next; // p指向下一个结点
i=i+1; // 计数加1
} while(p!=null); // 未到达链表尾部,则继续循环
} // 主函数结束
9
用结构数组,利用键盘输入结点中的数据。
重点看
scanf(“%d”,&a);
n[i].x=a;
结构数组,数组中的元素为结构类型的数据,如n[8]
//
#include <> // 预编译命令
#define null 0 // 定义空指针常量
struct TM // 定义TM结构
{
int x,y; // 整型变量x,y
struct TM *next; // 指向TM结构的指针
};
10

计算机程序设计基础——1第十一讲 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数45
  • 收藏数0 收藏
  • 顶次数0
  • 上传人中国课件站
  • 文件大小0 KB
  • 时间2011-10-11