java学习经验总结------单链表的建立与结点的增删


在该链表结点有data数据,并且还有cpu,分给cpu随机的时间片,根据时间片大小进行结点data的排序

链表结点的建立

  1. class LinkNode{//结点的建立
  2. private int data;
  3. private int cpu;
  4. public LinkNode next;
  5. public LinkNode(int data) {
  6. this.data=data;
  7. this.cpu=new Random().nextInt(10) + 1;;
  8. }
  9. public int getCpu() {
  10. return cpu;
  11. }
  12. public void setCpu(int cpu) {
  13. this.cpu = cpu;
  14. }
  15. public int getData() {
  16. return data;
  17. }
  18. public void setData(int data) {
  19. this.data = data;
  20. }

链表的构建过程以及添加节点、删除节点

  1. class Linklist{
  2. private LinkNode front;
  3. private LinkNode current;
  4. public Linklist() {
  5. current=front=new LinkNode(0);//单链表头节点必须对象化,否则会导致空指针异常
  6. }
  7. public void add(int data) {//链表的添加
  8. LinkNode Node = new LinkNode(data);
  9. while(current.next!=null) {
  10. current=current.next;
  11. }
  12. current.next=Node;
  13. }
  14. public void print() {//链表的打印
  15. LinkNode node =front.next;
  16. while(node!=null) {
  17. System.out.println(node.getData()+" "+node.getCpu());
  18. node=node.next;
  19. }
  20. System.out.println("======================================");
  21. }
  22. public void sort(int temp) {//对链表进行排序
  23. int a;
  24. int b;
  25. for(int i=0;i<temp-1;i++)
  26. {
  27. LinkNode now=front.next;
  28. for(int j=0;j<temp-i-1;j++) {
  29. if(now.getCpu()>now.next.getCpu()) {
  30. a=now.getData();
  31. b=now.next.getData();
  32. now.setData(b);
  33. now.next.setData(a);
  34. a=now.cpu;
  35. now.cpu=now.next.cpu;
  36. now.next.cpu=a;
  37. System.out.println();
  38. }
  39. now=now.next;
  40. }
  41. }
  42. }
  43. public void delete(int num) {//链表的删除
  44. int i=1;
  45. LinkNode node=front;
  46. while(i<num) {
  47. node=node.next;
  48. i++;
  49. }
  50. node.next=node.next.next;
  51. }
  52. }

Java数据结构--单链表的更多相关文章

  1. JAVA数据结构——单链表

    链表:一. 顺序存储结构虽然是一种很有用的存储结构,但是他有如下几点局限性:1. 因为创造线性表的时候已经固定了空间,所以当需要扩充空间时,就需要重新创建一个地址连续的更大的存储空间.并把原有的数据元 ...

  2. java数据结构——单链表、双端链表、双向链表(Linked List)

    1.继续学习单链表,终于摆脱数组的魔爪了,单链表分为数据域(前突)和引用域(指针域)(后继),还有一个头结点(就好比一辆火车,我们只关心火车头,不关心其它车厢,只需知晓车头顺藤摸瓜即可),头结点没有前 ...

  3. 数据结构——单链表java简易实现

    巩固数据结构 单链表java实现 单链表除了表尾 每个几点都有一个后继 结点有数据和后继指针组成  通过构建表头和表尾(尾部追加需要)两个特殊几点 实现单链表的一些操作,代码如下 package co ...

  4. JAVA数据结构之链表

    JAVA数据结构之链表 什么是链表呢? 链表作为最基本的数据结构之一,定义如下: 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的. 简单来说呢,链 ...

  5. Java实现单链表的各种操作

    Java实现单链表的各种操作 主要内容:1.单链表的基本操作 2.删除重复数据 3.找到倒数第k个元素   4.实现链表的反转   5.从尾到头输出链表 6.找到中间节点 7.检测链表是否有环 8.在 ...

  6. java实现单链表的增删功能

    JAVA 实现单链表的增删功能 package linked; class LinkedTable{ } public class LinkedTableTest { public static vo ...

  7. python实现数据结构单链表

    #python实现数据结构单链表 # -*- coding: utf-8 -*- class Node(object): """节点""" ...

  8. C语言数据结构-单链表的实现-初始化、销毁、长度、查找、前驱、后继、插入、删除、显示操作

    1.数据结构-单链表的实现-C语言 typedef struct LNode { int data; struct LNode* next; } LNode,*LinkList; //这两者等价.Li ...

  9. 使用java实现单链表(转载自:https://www.cnblogs.com/zhongyimeng/p/9945332.html)

    使用java实现单链表----(java中的引用就是指针)转载自:https://www.cnblogs.com/zhongyimeng/p/9945332.html ? 1 2 3 4 5 6 7 ...

随机推荐

  1. Java入门 - 语言基础 - 05.基本数据类型

    原文地址:http://www.work100.net/training/java-basic-datatype.html 更多教程:光束云 - 免费课程 基本数据类型 序号 文内章节 视频 1 概述 ...

  2. log4j的xml配置

    主要记录下方便下次查找 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:conf ...

  3. C语言进阶——编译预处理指令

    编译预处理指令 • #开头的是编译预处理指令 • 它们不是C语⾔的成分,但是C语⾔程序离不开它们 • #define⽤来定义⼀个宏 #define • #define <名字> <值 ...

  4. umake ide -h

    umake ide -husage: umake ide [-h]                 {netbeans,idea,clion,eclipse,atom,idea-ultimate,ec ...

  5. 事件总线 EventBus

    661. .net中事件模型很优雅的实现了观察者模式,同时被大量的使用在各种框架中. [2016-04-30 10:52:42]662. Prism框架中实现了一个典型的EventAggregator ...

  6. Kdenlive-开始

    版权声明:原创文章,未经博主允许不得转载 这是 Kdenlive 系列文章的第一篇 说明 在 Linux 下的视频编辑的软件并不多,作为其中之一的 kdenlive 在网上的教程就更少了.于是自己琢磨 ...

  7. python基础面试集锦(51-100)

    目录 51.把aaabbbcccdd这种形式的字符串压缩成a3b3c3d2的形式? 52.给你一个字符串'abc',打印出该字符串的所有排列组合? 53.执行以下代码后,x的值为? 54.对于一个非空 ...

  8. 虚拟机 ubuntu系统忘记密码如何进入

    重启 虚拟机 按住shift键 会出现下面的界面 按住‘e’进入下面的界面往下翻 更改红框勾到的字符串为:  rw init=/bin/bash 然后按F10进行引导 然后输入 :”passwd”  ...

  9. 解决git报错:error: RPC failed; curl 18 transfer closed with outstanding read data remaining 的方法

    报错信息: error: RPC failed; curl 18 transfer closed with outstanding read data remainingfatal: the remo ...

  10. 安装MySQL出现[Errno 256] No more mirrors to try

    今天安装数据库时出现错误提示,如下图: 解决办法如下: yum clean all #清除仓库缓存 yum makecache #将服务器包信息缓存到本地 然后再执行数据库安装指令 yum insta ...