链表的逆序打印
来源:互联网 发布:linux怎么退出man 编辑:程序博客网 时间:2024/05/18 02:54
package链表逆置;
publicinterfaceLinkedListInterface{
publicvoidaddNode(intdata);
publicvoiddisplay1();
publicvoiddisplay2();
publicvoidreserve();
}
package链表逆置;
importjava.util.Stack;
publicclassLinkedListDemoimplementsLinkedListInterface{
publicNodehead;
publicLinkedListDemo(){
this.head=newNode();
if(this.head==null){
System.out.println("头指针创建失败!");
return;
}
this.head.next=null;
}
publicvoidaddNode(intdata){
Nodenode=newNode(data);
Nodep=this.head;
if(this.head.next==null){
this.head.next=node;
}else{
while(p.next!=null){
p=p.next;
}
p.next=node;
}
}
publicvoiddisplay1(){
Nodep=this.head.next;
while(p!=null){
System.out.print(p.data+"");
p=p.next;
}
System.out.println();
}
//01修改链表的指针指向
publicNodegetHeadReserve(){
Noden=this.head.next;
this.head=null;
while(n!=null){
Nodem=n;
n=n.next;
m.next=head;
head=m;
}
returnthis.head;
}
publicvoiddisplay2(){
Nodep=this.head;
while(p!=null){
System.out.print(p.data+"");
p=p.next;
}
System.out.println();
}
//02利用栈实现倒序输出
@Override
publicvoidreserve(){
Stack<Node>stack=newStack<Node>();
Nodep=this.head.next;
while(p!=null){
stack.push(p);
p=p.next;
}
while(!stack.isEmpty()){
System.out.print(stack.pop().data+"");
}
}
//03利用递归
publicvoiddiguiReserve(Nodenode){
if(node.next!=null){
diguiReserve(node.next);
}
System.out.print(node.data+"");
}
}
package链表逆置;
publicclassNode{
publicintdata;
publicNodenext;
publicNode(){
}
publicNode(intdata){
this.data=data;
this.next=null;
}
}
package链表逆置;
publicclassTestLinked{
publicstaticvoidmain(String[]args){
LinkedListDemolinkedListDemo=newLinkedListDemo();
linkedListDemo.addNode(1);
linkedListDemo.addNode(2);
linkedListDemo.addNode(3);
linkedListDemo.addNode(4);
linkedListDemo.display1();
//linkedListDemo.getHeadReserve();
//linkedListDemo.display2();
linkedListDemo.diguiReserve(linkedListDemo.head.next);
//linkedListDemo.reserve();
}
}
- 链表的逆序打印
- 逆序打印链表
- 逆序打印链表
- 逆序打印链表
- java 逆序打印链表的值
- 逆序打印单向链表
- 链表之逆序打印
- 链表的创建,删除,插入,逆序,打印
- 链表的正逆序打印 java语言实现
- 单链表(创建,打印,逆序,合并两个有序的链表)
- 链表的插入、删除、逆序打印、输出倒数第N个、链表逆序
- 单链表的逆序打印
- C++链表逆序打印节点
- 剑指offer-逆序打印链表
- 逆置链表以及逆序打印链表
- 剑指offer--指定链表逆序打印
- C语言实现双向非循环链表(不带头结点)的逆序打印
- 链表的逆序
- TortoiseSvn和Subclipse对应关系
- react-native环境搭建问题
- python抽取指定url页面的title
- Spark笔记
- 做项目总结1
- 链表的逆序打印
- PHP中使用CURL模拟登录并获取数据实例
- MySQL查询缓存设置 提高MySQL查询性能
- 一天一个LINUX命令教程[5]-chown命令
- Java equals()与hashCode()方法
- java内存溢出异常(OutOfMemoryError)和栈溢出异常(StackOverflowError)
- R语言数据分析、展现与实例(03)
- 找工作之路1
- 使用Django haystack集成solr编写搜索引擎(一)