Lnode和LinkList之间的区别是什么?

时间:2016-03-17 02:29:44

标签: data-structures

typedef struct node{
    int data;
    struct node *next;
}Lnode, *LinkList;

以及何时

LinkList p = new Lnode; 

LNode *p = new Lnode;

有一些区别吗?

2 个答案:

答案 0 :(得分:0)

它只是在这一行重新声明指针p

Lnode *p = new Lnode; 

以前在下面的行中声明

LinkList p = new Lnode;

此处写Lnode*相当于写node*而写LinkList也会评价为node*,没有区别! 与

相同
typedef int *iptr;   // type name: iptr
                       // new type: int*

iptr ptr;            // same as: int *ptr

答案 1 :(得分:0)

我们使用“ LNode”强调“节点”,而使用“ LinkList”强调“列表”。这里是一个示例

  1. 定义新结构
typedef struct {
    int data;
    LNode *next;
}LNode,*LinkList;
  1. 插入新节点
  bool ListInsert (LinkList &L,int i,int e){
  if (i<1)
      return false;
  LNode *p;
  int j = 0;
  p = L;
  while (p!=NULL && j<i-2){
      p=p->next;
      j++;
  }
  if(p=NULL)
      return false;
 LNode * s = (LNode *)malloc(sizeofLNode));
  s->next = p->next;
  p->next = s;
  return true;
}

根据代码,我们尝试创建一个新节点,以使用“ LNode * p”插入原始列表,同时通过在“ ListInsert()”函数中传递参数“ LinkList&L”来访问列表