typedef struct xxx
{
int a[10];
/*以下定义一个链表结构,可以在这个链表中进行查找,删除,添加结点操作*/
struct Node* pNode = NULL;
}xxx_struct;
这样定义可以吗?以后在访问这个结构时,判断pNode是否等于NULL,如果等于NULL,就创建链表,并且让设置头指针,如果pNode不等于NULL,表面该链表已经创建,且至少存有一个结点,以后需要插入的结点按照某种方式插入和删除就可以了.只是最初的想法,请各位指教!谢谢!
5 个解决方案
#1
可以。
#2
一般的链表会制作么?
这里就是把 第一个 head 节点放在 pNode 这里,
后面的后续节点还是一样的 ...
这里就是把 第一个 head 节点放在 pNode 这里,
后面的后续节点还是一样的 ...
#3
其实我觉得你是否有必要把a、链表和pNode放在一个结构中,拆开来似乎还更醒目一点。(当然如果你后面要把这些信息当作一个整体来处理,比如它也有一个链表或数组之类的就另当别论了)
pNode就保存链表的头指针,链表为空时是NULL,不空则指向下一个节点,所有我感觉你可以这样定义:
int a[10];
typedef struct _Node{
...
struct _Node *next;
}Node;
Node *head=NULL;
当然如果你需要定义在一个结构中也是一样的:
typedef struct xxx
{
int a[10];
struct Node{
...
struct Node *next;
}
struct Node* pNode = NULL;
}xxx_struct;
pNode就保存链表的头指针,链表为空时是NULL,不空则指向下一个节点,所有我感觉你可以这样定义:
int a[10];
typedef struct _Node{
...
struct _Node *next;
}Node;
Node *head=NULL;
当然如果你需要定义在一个结构中也是一样的:
typedef struct xxx
{
int a[10];
struct Node{
...
struct Node *next;
}
struct Node* pNode = NULL;
}xxx_struct;
#4
typedef struct node{
struct node *next;
}obj
typedef struct xxxx{
struct node obj;
}
用node建链表...xxxx里面不就放了个链表吗?...是否这样?
struct node *next;
}obj
typedef struct xxxx{
struct node obj;
}
用node建链表...xxxx里面不就放了个链表吗?...是否这样?
#5
看了大家的意见,是不是可以搞成这样子:
先定义一个双向链表的结构体
typedef struct Node
{
Node* pPre;
Node* pNext;
Struct YYY yObj;/*存储另外一些参数*/
}Node_Struct;
然后再定义:
typedef struct xxx
{
int a[10];
/*以下定义一个链表结构,可以在这个链表中进行查找,删除,添加结点操作*/
struct Node* pNode;/*定义链表头结点的结构,以后进行链表操作*/
}xxx_struct;
大家看是否可行哦,谢谢!
先定义一个双向链表的结构体
typedef struct Node
{
Node* pPre;
Node* pNext;
Struct YYY yObj;/*存储另外一些参数*/
}Node_Struct;
然后再定义:
typedef struct xxx
{
int a[10];
/*以下定义一个链表结构,可以在这个链表中进行查找,删除,添加结点操作*/
struct Node* pNode;/*定义链表头结点的结构,以后进行链表操作*/
}xxx_struct;
大家看是否可行哦,谢谢!
#1
可以。
#2
一般的链表会制作么?
这里就是把 第一个 head 节点放在 pNode 这里,
后面的后续节点还是一样的 ...
这里就是把 第一个 head 节点放在 pNode 这里,
后面的后续节点还是一样的 ...
#3
其实我觉得你是否有必要把a、链表和pNode放在一个结构中,拆开来似乎还更醒目一点。(当然如果你后面要把这些信息当作一个整体来处理,比如它也有一个链表或数组之类的就另当别论了)
pNode就保存链表的头指针,链表为空时是NULL,不空则指向下一个节点,所有我感觉你可以这样定义:
int a[10];
typedef struct _Node{
...
struct _Node *next;
}Node;
Node *head=NULL;
当然如果你需要定义在一个结构中也是一样的:
typedef struct xxx
{
int a[10];
struct Node{
...
struct Node *next;
}
struct Node* pNode = NULL;
}xxx_struct;
pNode就保存链表的头指针,链表为空时是NULL,不空则指向下一个节点,所有我感觉你可以这样定义:
int a[10];
typedef struct _Node{
...
struct _Node *next;
}Node;
Node *head=NULL;
当然如果你需要定义在一个结构中也是一样的:
typedef struct xxx
{
int a[10];
struct Node{
...
struct Node *next;
}
struct Node* pNode = NULL;
}xxx_struct;
#4
typedef struct node{
struct node *next;
}obj
typedef struct xxxx{
struct node obj;
}
用node建链表...xxxx里面不就放了个链表吗?...是否这样?
struct node *next;
}obj
typedef struct xxxx{
struct node obj;
}
用node建链表...xxxx里面不就放了个链表吗?...是否这样?
#5
看了大家的意见,是不是可以搞成这样子:
先定义一个双向链表的结构体
typedef struct Node
{
Node* pPre;
Node* pNext;
Struct YYY yObj;/*存储另外一些参数*/
}Node_Struct;
然后再定义:
typedef struct xxx
{
int a[10];
/*以下定义一个链表结构,可以在这个链表中进行查找,删除,添加结点操作*/
struct Node* pNode;/*定义链表头结点的结构,以后进行链表操作*/
}xxx_struct;
大家看是否可行哦,谢谢!
先定义一个双向链表的结构体
typedef struct Node
{
Node* pPre;
Node* pNext;
Struct YYY yObj;/*存储另外一些参数*/
}Node_Struct;
然后再定义:
typedef struct xxx
{
int a[10];
/*以下定义一个链表结构,可以在这个链表中进行查找,删除,添加结点操作*/
struct Node* pNode;/*定义链表头结点的结构,以后进行链表操作*/
}xxx_struct;
大家看是否可行哦,谢谢!