黑马程序员技术交流社区

标题: 利用Java基础实现单向链表 [打印本页]

作者: 小歪    时间: 2014-3-24 07:54
标题: 利用Java基础实现单向链表
本帖最后由 小歪 于 2014-3-24 07:56 编辑

/*
利用Java基础实现单向链表
要求格式如下:
输入:
3  // 表示接下来有三组数据要放入节点
4
5
6   


则输出:
     //对应元素的平方值
16
25
36
*/

import java.io.*;

class Node          //节点声明
{
        private int data;   //用于存放数据
        private Node next;  //用于存放下一个节点地址
        
        public void setData(int data)
        {
                this.data=data;
        }
        public int getData()
        {
                return this.data;
        }
        
        public void setNext(Node next)
        {
                this.next=next;
        }
        public Node getNext()
        {
                return this.next;
        }
        
}

public class Link
{
        public static void main(String[] args)throws Exception{
                int n,data;
                BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
                String str=buf.readLine();
                n=Integer.parseInt(str);     //以上键盘输入,并输入一个字符串,将其转换为int型
               
                Node hand=new Node();        //创建头结点
                hand.setNext(null);          //习惯性将后面节点先置为空
                Node temp=hand;              //将头节点拷贝给temp,方便后面数据操作而不丢失头结点
               
                for(;n>0;n--)                //根据输入的节点个数来创建节点,并写入数据
                {
                        str=buf.readLine();
                        temp.setData(Integer.parseInt(str));
                        if(n-1>0)
                        {
                                temp.setNext(new Node());
                                temp=temp.getNext();
                                temp.setNext(null);
                        }
                }
               
                temp=hand;                   //再次取得头结点
                while(temp!=null)            //遍历所有节点
                {
                        System.out.println((int)Math.pow(temp.getData(),2)); //将节点内的数据进行求方并输出
                        temp=temp.getNext();     //获得下一个节点
                }
        }
}

运行 结果:



总结
                                           本程序实际上就是针对引用的一种扩展应用,而且在本程序中只是实现了一个最简单的单向链表功能,随着以后的的深入学习,在本程序之上都可扩展出更为复杂的链表数据结构。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2