单链表倒置
package arithmetic.line; /* * 单链表倒置 * * @author alchimie */ public class ReverseSingleLinked { // 倒置传入的单链表 public static SingleLinkedNode getReverseSingleLinked(SingleLinkedNode node) { SingleLinkedNode reverseSingleLinked = new SingleLinkedNode( node.getValue(), null); SingleLinkedNode lastN = reverseSingleLinked; while (node.getNext() != null) { node = node.getNext(); reverseSingleLinked = new SingleLinkedNode(node.getValue(), lastN); lastN = reverseSingleLinked; } return lastN; } public static void listLinked(SingleLinkedNode node) { System.out.print(node.getValue()); while (node.getNext() != null) { node = node.getNext(); System.out.print(node.getValue()); } System.out.println(""); } public static void main(String args[]) { int c = 75; SingleLinkedNode root = new SingleLinkedNode(String.valueOf((char) c), null); SingleLinkedNode lastN = root; // 生成单链表 for (int i = c - 1; i > 64; i--) { SingleLinkedNode n = new SingleLinkedNode(String.valueOf((char) i), lastN); lastN = n; } listLinked(lastN); listLinked(getReverseSingleLinked(lastN)); } } /* * 单链表Node */ class SingleLinkedNode { private String value; // 指向下一个Node private SingleLinkedNode next; public SingleLinkedNode(String value, SingleLinkedNode next) { this.value = value; this.next = next; } public String getValue() { return value; } public SingleLinkedNode getNext() { return next; } public void setNext(SingleLinkedNode node) { this.next = node; } }
输出结果:
ABCDEFGHIJK
KJIHGFEDCBA
相关推荐
数据结构上机作业张宪超第二章。 给定一个不带头节点的单链表,写出链表倒置的算法。
单链表倒置.c
写一个算法,借助栈将一个带头结点的单链表倒置。类c算法
单链表操作,希望能够帮助正在学习数据结构的同学
《数据结构与算法》(张宪超)给定一个不带头结点的单链表,写出将单链表倒置的算法
带结点的单链表的创立 输出 倒置 删除 带结点的单链表的创立 输出 倒置 删除
借助栈的使用来逆置单链表,通过链表元素的进栈与出栈就能完成了。
单链表逆序(简明,易懂) 单链表逆序(简明,易懂) 单链表逆序(简明,易懂)
实现链表的倒置:以倒插的方法的(既每次都插入到头结点的后面)来实现链表的倒置
使用二级指针创建单链表,程序功能菜单如图所示void showMenu(){ printf("\t\t\t\t\t\t1.使用头插法创建链表\n"); printf("\t\t\t\t\t\t2.... printf("\t\t\t\t\t\t3.... printf("\t\t\t\t\t\t4....将单链表倒置\n"); }
数据结构中java版。。。对于单链表的倒置。。。
带头结点双链循环线性表是C经典数据结构算法,希望对大家学习有点用
用JAVA写一个倒置单链表的源代码,适用于初学者,简单易懂
单链表的操作 包括创建 删除 排序 求长度 倒置
不带头结点的单链表倒置的算法与实现 数据结构部分
/*把带头结点的单链表倒置(以结点形式 )*/ node *Dao_zhi(node *head) { node *p,*s; p=head->next; head->next=NULL; while(p) { s=p; p=p->next; s->next=head->next; head->next=s; } ...
输入一组数据,用链表储存,在链表原储存空间实现链表的倒置操作,输出倒置链表
给定一个不带头结点的单链表,写出将链表倒置的算法
有图形界面 对单链表生成 增删改 倒置 清空 一目了然 附 课程设计文档
单链表倒置 头文件: #ifndef _LINKLIST_H_ #define _LINKLIST_H_ #include #include using namespace std; #define OK 1 #define ERROR 0 typedef int Status; typedef int ELEMTYPE; typedef struct LNode { ...