日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 结构体_Java实现单链表的简单操作

發布時間:2023/12/19 java 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 结构体_Java实现单链表的简单操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 一、基本實現思路
  • 二、代碼實現
  • 1.定義結點類2.定義鏈表類3.測試調用4.結果
  • 總結

前言

用Java實現單鏈表的簡單操作,閱讀本文和上一篇文章體會Java中類與C++中結構體指針的區別


提示:以下是本篇文章正文內容,下面案例可供參考

一、基本實現思路

  • 構造結點類
  • 構造鏈表類
  • 具體測試實現
  • 二、代碼實現

    1.定義結點類

    package list.test01;/* *定義結點類*/public class Node { private int data;public Node next;public Node(int data) { this.data = data;}public int getData() { return data;}public void setData(int data) { this.data = data;}public void display() { System.out.println("data="+data);}}

    2.定義鏈表類

    package list.test01;public class LinkList { //構造頭結點private Node first;//記錄結點位置private int pos=0;public LinkList() { this.first=null;}/** * 插入一個頭結點 */public void input(int data) { Node node=new Node(data);node.next=first;first=node;}/* * 刪除頭結點 并返回頭結點 */public Node delete() { Node tmpeNode=first;first =tmpeNode.next;return first;}/* * 在任意位置添加結點 */public void addList(int i,int data) { Node node=new Node(data);Node useNode=first;Node preNode=first;while (i!=pos) { preNode=useNode;useNode=useNode.next;pos++;}node.next=useNode;preNode.next=node;pos=0;}/* * 在任意位置刪除結點 */public Node delete(int i) { Node preNode=first;Node useNode = first;if(first==null) { return first;}while(i!=pos) { preNode=useNode;useNode=useNode.next;pos++;}preNode.next=useNode.next;pos=0;return useNode;}/* * 頭插法建立鏈表 */public void Initlist(int a[]) { for (int i = 0; i < a.length; i++) { Node node=new Node(a[i]);node.next=first;first=node;}}/* * 尾插法建鏈表 */public void InitList2(int a[]) { Node qNode=first;for (int i = 0; i < a.length; i++) { Node node=new Node(a[i]);qNode.next=node;qNode=node;}}/* * 查詢結點信息為data的位置 */public int findList(int data) { Node useNode=first;if(first==null) { System.out.println("該鏈表為空!");return 0;}while(useNode.getData()!=data) { useNode=useNode.next;pos++;}int i=pos;pos=0;System.out.println("該元素在第"+i+"位置");return i;}/* * 顯示鏈表中的結點信息 */public void displayall() { Node useNode=first;while(useNode!=null) { useNode.display();useNode=useNode.next;}System.out.println();}}

    3.測試調用

    package list.test01;public class Test { public static void main(String[] args) { // TODO Auto-generated method stubLinkList laLinkList=new LinkList();//檢驗插入頭結點laLinkList.input(10);laLinkList.input(20);laLinkList.input(30);System.out.println("顯示插入的三個頭結點元素");laLinkList.displayall();//檢驗任意位置插入結點laLinkList.addList(1, 1);laLinkList.addList(2, 2);laLinkList.addList(3, 3);System.out.println("顯示任意位置插入元素的值");//顯示結點信息laLinkList.displayall();//刪除值為2的結點System.out.println("顯示刪除功能");Node deleNode=laLinkList.delete(2);System.out.println("===============");//顯示刪除結點的信息deleNode.display();System.out.println("=============");//顯示全部信息laLinkList.displayall();System.out.println("---------------------");System.out.println("下面是查詢");//查詢元素為3的位置laLinkList.findList(3);System.out.println("---------------------");int a[]= { 1,2,3,4,5};LinkList laLinkList2=new LinkList();//頭插法建鏈表System.out.println("下面是頭插法建鏈表");laLinkList2.Initlist(a);laLinkList2.displayall();System.out.println("下面是尾插法");LinkList laLinkList3=new LinkList();//先插入一個頭結點laLinkList3.input(0);laLinkList3.InitList2(a);laLinkList3.displayall();//Node n1=new Node(20);//n1.display();}}

    4.結果


    總結

    以上用Java實現了單鏈表的簡單操作,在C、C++里面有結構體、指針等 鏈表理解較為簡單,但是Java里用類去代替結構體的功能,在Java中類是引用型,從而代替指針。以上是初學者對Java單鏈表的理解,還不是很明白。求大佬指點。歡迎閱讀!

    總結

    以上是生活随笔為你收集整理的java 结构体_Java实现单链表的简单操作的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。