Java实现数据结构--栈

来源:互联网 发布:淘宝宝贝导出excel 编辑:程序博客网 时间:2024/06/04 19:03
package lianbiao;//存储链表信息class Node {Node next = null;int data;public Node(int data) {this.data = data;}}public class LinkedListTest {Node head = null;// 链表头的引用/* 插入节点 */private void addNode(int d) {Node newNode = new Node(d);if (head == null) {head = newNode;// 如果头为空,直接当做头结点return;}Node temp = head;while (temp.next != null) {temp = temp.next;// 从头结点开始找,直到末尾}temp.next = newNode;// 插入末尾}// 删除节点public boolean deleteNode(int d) {// 删除第d个节点if (d < 1 || d > length()) {// 判断要删除的节点是否合理return false;}if (d == 1) {head = head.next;// 如果删除头结点return true;}int i = 1;Node preNode = head;// 前一个节点Node curNode = preNode.next;// 当前节点while (curNode != null) {if (i == d) {preNode.next = curNode.next;// 如果是这个节点return true;}preNode = curNode;// 向后移curNode = curNode.next;i++;}return true;}// 返回长度private int length() {int length = 0;Node temp = head;while (temp != null) {length++;temp = temp.next;}return 0;}// 对链表进行插入排序private Node orderList() {Node nextNode = null;int temp = 0;Node curNode = head;while (curNode.next != null) {nextNode = curNode.next;while (nextNode != null) {if (curNode.data > nextNode.data) {// 当前节点>下一节点,交换temp = curNode.data;curNode.data = nextNode.data;nextNode.data = temp;}nextNode = nextNode.next;}curNode = curNode.next;}return head;}// 输出private void printList() {Node temp = head;while (temp != null) {System.out.println(temp.data);temp = temp.next;}}public static void main(String[] args) {// TODO 自动生成的方法存根}}

0 0
原创粉丝点击