Java数据结构--单链表
java学习经验总结------单链表的建立与结点的增删
在该链表结点有data数据,并且还有cpu,分给cpu随机的时间片,根据时间片大小进行结点data的排序
链表结点的建立
class LinkNode{//结点的建立
private int data;
private int cpu;
public LinkNode next;
public LinkNode(int data) {
this.data=data;
this.cpu=new Random().nextInt(10) + 1;;
}
public int getCpu() {
return cpu;
}
public void setCpu(int cpu) {
this.cpu = cpu;
}
public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
}
链表的构建过程以及添加节点、删除节点
class Linklist{
private LinkNode front;
private LinkNode current;
public Linklist() {
current=front=new LinkNode(0);//单链表头节点必须对象化,否则会导致空指针异常
}
public void add(int data) {//链表的添加
LinkNode Node = new LinkNode(data);
while(current.next!=null) {
current=current.next;
}
current.next=Node;
}
public void print() {//链表的打印
LinkNode node =front.next;
while(node!=null) {
System.out.println(node.getData()+" "+node.getCpu());
node=node.next;
}
System.out.println("======================================");
}
public void sort(int temp) {//对链表进行排序
int a;
int b;
for(int i=0;i<temp-1;i++)
{
LinkNode now=front.next;
for(int j=0;j<temp-i-1;j++) {
if(now.getCpu()>now.next.getCpu()) {
a=now.getData();
b=now.next.getData();
now.setData(b);
now.next.setData(a);
a=now.cpu;
now.cpu=now.next.cpu;
now.next.cpu=a;
System.out.println();
}
now=now.next;
}
}
}
public void delete(int num) {//链表的删除
int i=1;
LinkNode node=front;
while(i<num) {
node=node.next;
i++;
}
node.next=node.next.next;
}
}
Java数据结构--单链表的更多相关文章
- JAVA数据结构——单链表
链表:一. 顺序存储结构虽然是一种很有用的存储结构,但是他有如下几点局限性:1. 因为创造线性表的时候已经固定了空间,所以当需要扩充空间时,就需要重新创建一个地址连续的更大的存储空间.并把原有的数据元 ...
- java数据结构——单链表、双端链表、双向链表(Linked List)
1.继续学习单链表,终于摆脱数组的魔爪了,单链表分为数据域(前突)和引用域(指针域)(后继),还有一个头结点(就好比一辆火车,我们只关心火车头,不关心其它车厢,只需知晓车头顺藤摸瓜即可),头结点没有前 ...
- 数据结构——单链表java简易实现
巩固数据结构 单链表java实现 单链表除了表尾 每个几点都有一个后继 结点有数据和后继指针组成 通过构建表头和表尾(尾部追加需要)两个特殊几点 实现单链表的一些操作,代码如下 package co ...
- JAVA数据结构之链表
JAVA数据结构之链表 什么是链表呢? 链表作为最基本的数据结构之一,定义如下: 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的. 简单来说呢,链 ...
- Java实现单链表的各种操作
Java实现单链表的各种操作 主要内容:1.单链表的基本操作 2.删除重复数据 3.找到倒数第k个元素 4.实现链表的反转 5.从尾到头输出链表 6.找到中间节点 7.检测链表是否有环 8.在 ...
- java实现单链表的增删功能
JAVA 实现单链表的增删功能 package linked; class LinkedTable{ } public class LinkedTableTest { public static vo ...
- python实现数据结构单链表
#python实现数据结构单链表 # -*- coding: utf-8 -*- class Node(object): """节点""" ...
- C语言数据结构-单链表的实现-初始化、销毁、长度、查找、前驱、后继、插入、删除、显示操作
1.数据结构-单链表的实现-C语言 typedef struct LNode { int data; struct LNode* next; } LNode,*LinkList; //这两者等价.Li ...
- 使用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 ...
随机推荐
- Qt Installer Framework翻译(3-2)
添加组件 如果用户在初始安装期间未选择所有可安装组件,则后续也可以使用包管理器从仓库中获取剩余组件进行安装.包管理器是维护工具的一部分,该维护工具在初始安装过程中与应用程序一起被安装.仅当包含组件的仓 ...
- Knative 简介
原文地址:https://yq.aliyun.com/articles/658800
- ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.
用了pip install pydot; pip install graphviz都不行 去网上查了才发现window下要去https://graphviz.gitlab.io/下载windows版本 ...
- 2019中国大学生程序设计竞赛-女生专场(重现赛)部分题解C-Function(贪心+优先队列) H-clock(模拟)
Function 题目链接 Problem Description wls 有 n 个二次函数 Fi(x) = aix2 + bix + ci (1 ≤ i ≤ n). 现在他想在∑ni=1xi = ...
- python下的selenium和chrome driver的安装
selenium是一款支持多种语言.多种浏览器.多个平台的开源web自动化测试软件,测试人员可用python.java等语言编写自动化脚本,使得浏览器可以完全按照你的指令运行,大大节省了测试人员用鼠标 ...
- 深入分析Java反射(一)-核心类库和方法
前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行 ...
- 七、django学习之聚合函数
七.django学习之聚合函数 如何使用 from django.db.models import Avg,Max,Min,Sum models.Book.objects.all().aggregat ...
- 技术派-github常见的一些用法和缩写
PR: Pull Request. 拉取请求,给其他项目提交代码 LGTM: Looks Good To Me. 看起来不错,代码已 review,可以合并 SGTM: Sounds Good To ...
- qt QDockWidget QStackWidget的简单使用
stackdlg.h #ifndef STACKDLG_H #define STACKDLG_H #include <QtWidgets/QDialog> #include <QLi ...
- 《Android Studio实战 快速、高效地构建Android应用》--Android Studio操作
前言 摩尔定律:CPU的处理能力大约18个月翻一倍 Android&Java:想要在Android Studio中开发Android App,必须以充分了解Java为前提(Java流行的原因: ...