线性表

 

一、线性表的结构体定义

#define MaxSize 100


typedef struct{
    int data[maxSize];
    int length;
}Sqlist;//顺序表结构体定义

typedef struct LNode{ int data; struct LNode *next;//指向后继结点的指针 }LNode;//单链表结点定义 typedef struct DLNode{ int data; struct DLNode *proir;//前驱结点 struct DLNode *next;//后继结点 }DLDode;//双链表结点定义

PS:结点是内存中由用户分配的存储空间,只有一个地址来表达它的存在,没有显示的名称,因此我们会在分配链表结点空间的时候,同时定义一个指针,来存储这片空间的地址。(这个地址通常的讲叫指针指向结点,并且常用这个指针的名称来作为结点的名称)

例如:

LNode *A = (LNode*)malloc(sizeof(LNode));

即:

Lnode x; // 声明一个Lnode类型的变量x
Lnode *y; // 声明一个指向Lnode类型变量的指针变量y

y=&x; // 正确。将y指向x。

printf( "sizeof Lnode is %d", sizeof(Lnode) ); // 显示Lnode类型变量的大小
printf( "sizeof Lnode* is %d", sizeof(Lnode*) ); // 显示Lnode*类型变量的大小,在VC中无论指向什么类型的指针都应该显示4(4字节,32位)。
  • LNode 一种类型,LNode 一个指针。
  • LNode:LNode型
  • *A:名字为A的指针(定义了结点和指针)

 

上一篇:单链表上的基本操作


下一篇:【数据结构】(单链表)带头结点删除最小值元素