C++|链表中常见的链表节点指针操作

职场故事 阅读(1521)
玩mg电子游戏攻略

将指向左值的链表节点指针的赋值可以解释为左值指向或链接。

Typedef struct Lnode

{ElemType数据;/*数据字段,保存节点*/

的值

Struct Lnode * next;/*指针字段*/

}叶子节点;/*节点类型*/

LNode * p,* q;

P=(叶子节点*)malloc的(的sizeof(叶子节点));

P->数据=20;

P-> next=NULL;

926674a2a6e04473bc955b90734cc414

LNode * Locate_Node(LNode * L,int key)

/*在单个链表中找到值为key的第一个节点,L为头节点*/

{

LNode * p=L-> next;

虽然(p!=NULL&& p-> data!=key)

P=对 - >接着, //将一个指针移动到一个节点

如果(p-> data==key)

返回p;

其他

{

Printf('您正在寻找的节点不存在! \ n');

Retutn(NULL);

}

}

1e7bac0cd64b47dcad943b0a5259ab26

91aac13830a34a85b6d2b66de191a32a

LNode * create_LinkList(void)

/* Header插入方法创建单个链表,链表的头节点作为返回值*/

{

Int数据;

LNode * head,* p;

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

头戴式>接着=NULL;/*为链表头*/

创建标题

而(1)

{

Scanf(“%d”,&数据);

如果(data==32767)中断;

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

P->数据=数据;/*数据字段分配*/

P-> next=head-> next; //新节点p链接到标题结果的下一个节点,这里是NULL;

Head-> next=p; //头节点链接到p

/* hook chain,新创建的节点始终是第一个节点*/

}

返回(头);

}

Void Insert_LNode(LNode * L,int i,ElemType e)

/*在单链表的第i个位置插入一个值为e的节点,L为头节点*/

{

Int j=0; LNode * p,* q;

p=L-> next;

而(p!=NULL&& j

{p=p-> next; J ++; }

如果(j!=i-1)

Printf('我太大了或我是0 ! \ n');

其他

{

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

Q->数据=E;

Q->接着=P->接着, //q链接到p的下一个节点(插入节点链后)

P->接着=Q; //p链接到q(节点的前一段插入节点)

}

}

链表节点的操作必须掌握一个原则:第一个链然后中断;

末端 -