导航:首页 > 编程语言 > java单链表逆序

java单链表逆序

发布时间:2023-09-13 04:31:49

Ⅰ 用java来编写一个单链表类的成员函数,实现对头结点的单链表就地逆置的操作

逆置有两种方法,第一是把所有节点反过来。还有一种就是改变节点中的值。
第一种情况,其实可以考虑用头插法,来实现逆置。
下面的算法是基于头插法的思想,逆置链表的,仅供参考。
LinkList anti_linklist(LinkList demo)
{
LInkList *p,*q;//work pointer
LinkList head;
head=new LinkList();
head->next=null;//init head pointer
p=demo->head->next;//make p points to the first node
if(p==null)
return null;//the linklist is null
while(p!=null)
{
q=p;
q->next=head->next;
head->next=q;
p=p->next;
}
}

Ⅱ 设有一个表头为first的单链表,式设计一个算法,通过遍历一趟链表,将链表中所有节点按逆序链接

算法思想
一次遍历链表,并将结点指针反转,在逆置的时候要注意单链表两端的处理(即表头结点和表尾结点)
LinkList ReverseLinkList( LinkList L)
{
Lnode *p, *pre, *s;
p = L -> next;
s = p -> next;
p -> next = NULL;//处理第一个结点,指针指向NULL,因为逆置后它将是尾结点
while( s != NULL) //当s为空的时候说明p已经指向链表的最后节点了
{
pre = p;
p = s;
s = s ->next;
p -> next = pre; //指针反转
}
L ->next = p; //处理最后一个结点,头结点的指针指向它

return L;
}

阅读全文

与java单链表逆序相关的资料

热点内容
新论pdf 浏览:582
bat大厂程序员十大标准 浏览:592
工程人程序员医生图片 浏览:499
车上显示服务器未激活是什么意思 浏览:622
海归程序员回国求职 浏览:10
单片机哪个工作区可以切换4个区 浏览:473
2019彩六改服务器地址 浏览:415
程序员女有什么特点 浏览:520
程序员的行情如何 浏览:311
程序员老宅视频 浏览:559
安卓手机如何使用蓝牙键鼠 浏览:236
u盘安装redhatlinux 浏览:57
电脑u盘加密要不要空间 浏览:432
程序员对普通人发信息 浏览:141
php向下取整函数 浏览:500
信源编译码实验分析 浏览:480
前端程序员需要什么证书 浏览:115
蚌端口前端程序员私活收入是多少 浏览:489
自动关机dos命令 浏览:326
我的app为什么打不开 浏览:162