java程式設計之迴圈鏈表

來源:互聯網
上載者:User

標籤:

  照例來說點廢話,願自己生一顆溫柔細膩的心,這樣女朋友也許一個眼神,一個微笑,我就知道如何做,可惜內心與外表一樣粗糙,這一生有幸認識她,願天下有情人終成眷屬。

  迴圈鏈表,顧名思義迴圈就好了,所以建一個線性表之後,在尾指標之後.next=first就好了,照例先建一個結構體(類似於C語言的結構體,java裡面是類):

class Person{    protected Person next;    protected int data;    public Person(int data){        this.data = data;    }        public void display(){        System.out.println(data);    }}/**next是一個為經過引用的Person類,並未在堆上分配出記憶體(這裡我不確定,代碼猜測)*/

  接著我們來寫操作這個Person對象記憶體空間的鏈表類,類似於寫一個鏈表的工具類:

  首先一定是先建立一個頭指標,指向第一個節點:

protected Person first;

  這個first類未經引用,當用對象引用這個first時,一定要注意對象的一致,底下加一個構造方法:

public link(){        this.first = null;    }

  頭結點創立好了,在對象引用這個工具類時,頭結點就被定義了,所以下面寫一個方法,用來創立迴圈鏈表:

public void fun(){        Scanner s = new Scanner(System.in);        System.out.print("請輸入鏈表長度,輸入為純數字:");        int value = Integer.parseInt(s.nextLine());        Person p = null;        first = new Person(n--); //一定要是頭結點第一個被建立,因為開始定義的就是first        p = first;        while(n-->0){            p.next = new Person(n+1);            p = p.next;        }        p.next = first;

  這個類的名字叫link,看構造方法,這個鏈表的工具類就完成了。

  下面寫一段代碼引用一下,代碼很簡單:

public class Huan {    public static void main(String[] args) {        // TODO Auto-generated method stub        link l = new link();        l.fun();        Person p = l.first;        while(p!=null){            p.display();            p = p.next;        }    }}

 

java程式設計之迴圈鏈表

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.