Each element (or node) in the linked list has data and a pointer to another node. The pointer stores the memory location of the next node.
The last node of the list should point to nothing - it should be a null pointer.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SoloLearn {
class LinkedList {
//创建一个Node 类, 包含了一个 字段value 和 一个 next pointer
class Node {
public int value;
public Node next;
public Node(int value) {
this.value = value;
}
}
//再创建 LinkedList的 函数
// void addAtFront(Node node);
// void addAtEnd(Node node);
// void removeFront();
// void print();
private Node first = null;
void addAtFront(Node node) {
node.next = first;
first = node;
}
void addAtEnd(Node node) {
if (first == null)
first = node;
else {
Node ptr = first;
while(ptr.next != null)
ptr = ptr.next;
ptr.next = node;
}
}
void removeFront() {
first = first.next;
}
void print() {
Node ptr = first;
while(ptr != null) {
Console.Write(ptr.value+" -> ");
ptr = ptr.next;
}
}
static void Main(string[] args) {
LinkedList L = new LinkedList();
L.addAtFront(new Node(1));
L.addAtFront(new Node(2));
L.addAtFront(new Node(4));
L.addAtEnd(new Node(8));
L.print();
}
}
}