【数据结构】【线性表】逆序链表
程序员文章站
2022-07-10 19:22:52
...
线性表逆序链表使用Java实现,实现思路和C语言中的实现思路一模一样,不赘述;和顺序链表不同的是,逆序链表不需要“尾指针”,这样就少了tail节点的定义;另外逆序链表中的head节点不能存储数据,它用来引导每个节点的插入位置。
一、代码实现
import java.util.Scanner; class Node{ int data; Node next=null; } public class ReverseLinkedList{ public static void main(String args[]){ Scanner scanner=new Scanner(System.in); int total=scanner.nextInt(); Node head=new Node(); Node p=null; for(int i=0;i<total;i++){ p=new Node(); p.data=scanner.nextInt(); p.next=head.next; head.next=p; } output(head); } public static void output(Node head){ Node p=head.next; while(p!=null){ System.out.print(p.data+" "); p=p.next; } System.out.println(); } }
二、测试用例
使用之前的MyRandom类:
import java.util.Random; public class MyRandom { public static void main(String args[]){ int[] array=new int[1024]; for(int i=0;i<1024;i++){ array[i]=i; } System.out.println("1024"); for(int i=0;i<1024;i++){ System.out.print(array[i]+" "); } System.out.println(); } }
测试结果:
从结果中就能够看出来为什么叫做“逆序链表”了,顺序输入了1024个整数,但是输出的时候却是逆序的。