java数据结构之从链表
来源:互联网 发布:淘宝网抹胸连衣裙 编辑:程序博客网 时间:2024/06/15 16:16
用java实现了一个链表结构,键盘输入数字,将其依次加入链表,保证时刻升序排列。
数据结构通过定义一个类来实现,具体的代码如下:
import java.util.Scanner;public class LinkedListConstructor {public static void main(String[] args) {Scanner sc = new Scanner(System.in);LinkedList ll = new LinkedList(0);ll.setNext(null);// 初始化这个链表的头结点为0,next为nullwhile (sc.hasNextInt()) {ll = addNewNode(ll, sc.nextInt());// 从表头开始遍历,找到插入的位置}System.out.println("Input finished!");printLinkedList(ll);sc.close();}private static void printLinkedList(LinkedList ll) {// 根据表头打印所有数据while (ll != null) {System.out.print(ll.getValue() + " ");ll = ll.getNext();}}private static LinkedList addNewNode(LinkedList ll, int n) {// 这个函数返回的是表头的位置LinkedList header = ll;LinkedList lnew = new LinkedList(n);// 先new一个节点if (ll.getNext() == null) {ll.setNext(lnew);lnew.setNext(null);} else {while (ll.getNext()!=null&&ll.getNext().getValue() < n) {ll = ll.getNext();}lnew.setNext(ll.getNext());ll.setNext(lnew);}return header;}}
而其中LinkedList类定义为:
public class LinkedList {private int value;private LinkedList next;public int getValue() {return value;}public void setValue(int value) {this.value = value;}public LinkedList getNext() {return next;}public void setNext(LinkedList next) {this.next = next;}public LinkedList(int value) {this.value = value;}public LinkedList() {}}
这个程序输入的时候需要注意一点,如果输入结束,可以随意输入一些非数字符号作为结束。否则算法不认为输入完成。。也可以用输入String类,再split,转成int值的方法。具体就不写了。
阅读全文
0 0
- java数据结构之从链表
- java数据结构之链表
- JAVA数据结构之链表
- java数据结构之链表
- java数据结构之链表
- Java数据结构之链表
- 【Java数据结构】Java数据结构之链表反转
- 数据结构之从链表而来的森林
- java数据结构讲述之链表
- java数据结构之链表LinkedList
- 数据结构之链表的Java实现
- Java数据结构之链表反转
- 学习java数据结构基础知识之链表
- 数据结构Java语言实现之链表
- Java数据结构之链表的实现
- Java 数据结构之双向链表
- Java数据结构之单向链表
- Java数据结构之双向链表
- NLP_TFIDF
- Android面试总结(一)
- 《剑指offer》反转链表
- JS-Global对象
- 用139邮箱发送测试报告
- java数据结构之从链表
- roaringbitmap 源码解析(2) 底层三种容器containner对比
- Git常用命令
- 数据库系统的基本组成
- java线程池原理分析及应用实例
- Git常用命令总结
- 睡前一题
- 常用 Git 命令清单
- 阶乘除法