The basic operations of a single-linked list include the creation of single-linked lists, lookup operations (search by order and lookup by value), insert operations (pre-and post-interpolation), and delete operations. The following is a specific Java implementation program:
Package com.zpp.test;//first creates a node class public class Node {private node Next;//pointer field private int data;//data field Publi c Node (int data) {this. data = data; }}package Com.zpp.test;public class Linklist {public node first;//define a head node private int pos = 0;//node Location Public linklist () {this. first = null; }//Insert a head node public void Addfirstnode (int data) {node node = new node (data); Node. Next = first; First = node; }//delete the head node and return the head node to public node Deletefirstnode () {node Tempnode = first; First = Tempnode. Next return tempnode; }//Insert node after index at specified position public void InsertAfter (int index, int data) {node node = new node (data); Node current = first; while (pos! = index) {current = current. Next; pos++; } node. Next = Current.next; Current. Next = node; pos = 0; }//Insert node in front of the specified position index public void insertbefore (int index, int data) {node node = new node (data); Node current = first; Node previous = first; while (pos! = index) {previous = current; Current = current. Next pos++; } node. Next = current; Previous. Next = node; pos = 0; }//Delete node at the specified location public void deletebypos (int index) {node current = first; Node previous = first; while (pos! = index) {pos++; previous = current; Current = current. Next } if (current = = first) {first = first. Next; } else {pos = 0; Previous. Next = current. Next }}//delete the node based on the data of the node (delete only the first) public void deletebydata (int data) {node-current = primary; Node previous = first; Remember the previous nodewhile (current data! = data) {if (current. Next = null) {System.out.println ("No corresponding node found, cannot be deleted In addition to Operation! "); } previous = current; Current = current. Next } if (current = = first) {first = first. Next; } else {Previous. Next = current. Next; }}//Based on location find node information public node Findbypos (int index) {node current = first; if (pos! = index) {current = current. Next; pos++; } return current; }//Find node information based on data public nodes findbydata (int data) {node current = first; while (current data! = data) {if (current. Next = null) return null; Current = current. Next } return current; }//Displays all node information public void Displayallnodes () {node current = first; while (current! = nulL) {System.out.print (current.data+ ""); Current = current. Next } System.out.println (); }}package com.zpp.test;//test class public class Testlinklist {public static void main (string[] args) {linklist lin Klist = new linklist (); Linklist.addfirstnode (20); Linklist.addfirstnode (21); Linklist.addfirstnode (19); 19,21,20 Linklist.insertbefore (1, 22); 19,22,21,20 Linklist.insertbefore (2, 23); 19,22,23,21,20 Linklist.insertafter (3, 99); 19,22,23,21,99,20 linklist.displayallnodes ();//Node node = Linklist.deletefirstnode ();//System. Out.println ("node:" + node.data);//Linklist.displayallnodes ();//node = Linklist.deletebypos (2);// System.out.println ("node:" + node.data);//Linklist.displayallnodes ();//Linklist.deletefirstnode (); Linklist.deletebydata (+);//Node node = LinkliSt.deletebypos (0); System. Out.println ("Node:" + node.) data); Linklist.displayallnodes (); Node Node1 = linklist.findbypos (0); System. Out.println ("Node1:" + node1. data); Node Node2 = Linklist.findbydata (22); System. Out.println ("Node2:" + node2. data); }}
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Data structure Review--java realization of single-linked list basic operation