以知单向链表结点的结构

来源:百度知道 编辑:UC知道 时间:2024/06/23 14:38:13
以知单向链表结点的结构
struct node
{ int date;
struct node*next;
}
和链表头结点指针h.将链表倒序成新链表head.
要求:不增加额外存储空间

node* var = h;//一个随时变更的指针,最开始指向链表头

从这里开始循环
判断如果这里是最后一个节点了,用不同的处理方式(比如说非循环链表最后一个节点的next应该等于NULL,循环节点最后一个节点的next应该等于h)
//下面假设是一般节点,即不是最后一个节点
node* temp1 = var->next;//临时暂存指针,但是变动,算是永远暂存var->next
node* temp2 = var->next->next;//临时暂存指针,但是变动,算是永远暂存var->next->next

//开始倒置
var->next->next = var;//把var后面的节点的指针指向var,也就是说现在var和var->next两个节点互相用next指着,从我们的观点看也就是var->next在var前面了
var->next = NULL;//不管是不是循环链表,var开始是节点头最后肯定是节点尾部,先把这个节点尾部的指针清零
var = temp1;//指向var->next就是指向var后面的节点,也就是转换后在var前面的节点

结束循环

以二叉链为存储结构,写一算法求二叉树的叶子结点个数 C++编程 输入一行字符,按输入字符的反序建立一个字符结点的单向链表,并输出该链表中的字符 用C语言编写程序,创建一个二叉树的二叉链表结构,然后输出从根结点到所有叶子结点的路径。 用C语言编写:建立一棵以二叉链表结构存储的二叉树,并对其进行遍历。求该二叉树中的结点个数等操作。 建立任意一个含n个结点的单向链表,再将所建立的链表按逆序排列,即将链头当链尾,链尾当链头。 填空:链表结点的插入 试写一算法在带头结点的单链表结构上实现线性表操作LENGTH(L) C 结构编写链表怎么实现===插入结点=== C++单向链表 利用二叉链表作为存储结构建立一棵二叉树,每个结点中存放一种水果名(由键盘输入),结点数不少于5个。