1链表的基本概念例:在铁路的中转站,有10个集装箱待运
每个集装箱上有如下五项说明:①箱号(比如AZ81920)②货物名称(比如苹果)③重量(比如10吨)④发货地点(比如山东)⑤到货地点(比如广东)2233如何在程序中来描述该列火车
如何来描述火车头
如何来描述每一个集装箱
如何来描述各节车厢之间的链接关系
44DX11089玩具5吨从上海到深圳CY20011电饭锅8吨从上海到湖南AZ81920花生10吨从山东到广东…head结点2需要引入一种新的数据结构:链表
链表中的每一个元素称为一个“结点”,每个结点都应该包括两部分:一为用户需要使用的实际数据;二为下一个结点的起始地址
另外,链表还有一个头指针head,指向链表的首结点
结点1结点355如何来实现链表结构
显然要用到结构体数据类型
定义如下的结构体类型:structTrain_tagstructTrain_tag*next;charNum[8];charName[10];intWeight;charFrom[20];charTo[20];数据域指针域669
2对链表的操作1
创建静态链表在程序中定义一组结构体变量或一个结构体数组,然后用它们来作为链表的结点,把它们链接成一个链表的形式
优点:不必去关心内存的分配与释放
缺点:需要事先知道链表结点的个数
77DX11089玩具5吨从上海到深圳CY20011电饭锅8吨从上海到湖南AZ81920花生10吨从山东到广东NULL…head结点2结点1结点10structTrain_tag{charNum[8];/*集装箱编号*/charName[10];/*货物名称*/intWeight;/*货物重量*/charFrom[20];/*发货地点*/charTo[20];/*到货地点*/structTrain_tag*next;/*指向下一结点*/}