线性表

安稳与你 提交于 2020-01-22 01:47:06

 

一、线性表的结构体定义

#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的指针(定义了结点和指针

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!