Java算法 -- 顺序表
顺序表结构定义:就是按照顺序存储方式存储的线性表
1.定义一个顺序表的基本数据:
static final int MAXLEN = 100;
Class Student{
private String number; //学生学号
private String name; // 学生姓名
private int age; // 学生年龄
}
Class SLT{
Student[] ListData = new Student[MAXLEN]; // 定义一个Student数组来存放学生
int ListLen; // 当前数组
}
- 初始化顺序表
- 获取顺序表的长度
- 往顺序表内插入数据
- 追加节点
- 删除节点
- 查找节点 1)查找节点 2)查找对应学号的节点
- 显示所有节点
// 1)初始化顺序表
public void initSLT(SLT sl){
sl.ListLen = 0;
}
// 2)获取顺序表长度
public int SLlength(SLT sl){
return sl.ListLen;
}
// 3)往顺序表中插入节点
public boolean insertSLT(SLT sl , int n , Student stu){
boolean judge = false;
if(n<0 || n>sl.ListLen -1){
SYSO("插入数据点位置编号不对");
return false;
}
if(sl.ListLen > MAXLEN){
SYSO("顺序表已经满了");
return false;
}
for(int i=0;i<sl.ListLen-1;i++){
if( i == n){
//n+ 的部分往后移
for(int j=sl.ListLen-1 ;j>n; j -- ){
sl.ListData[j] = sl.ListData[j-1];
}
}
}
sl.ListData[n] = stu;
sl.ListLen ++;
return true;
}
// 4)追加节点
public boolean STLAdd(STL sl,Student stu){ if(sl.ListLen > MAXLEN){
SYSO("顺序表已满,不能添加");
return false;
} sl.ListData[sl.ListLen + 1 ] = stu; } // 5) 删除节点
public boolean STLDelte(STL sl , int n ){
if(n<0 || n>sl.ListLen -1){
SYSO("插入数据点位置编号不对");
return false;
}
if(sl.ListLen<=0){
SYSO("顺序表中没有数据可以删除");
return false;
}
for(int i=0;i<sl.ListLen-1;i++){
if(i == n){
for(int j=n;j<sl.ListLen;j++){
sl.ListData[j]= sl.ListData[j+1]
} }
sl.ListLen --; }
}
// 6)查找节点
public Data searchDataByNumber(STL sl , String number){
int i;
if(i=1 ;i<SL.ListLen;i++){
if(sl.ListData[i].number.equal(number)){
return sl.ListData[i];
}else
{
return null;
}
}
}
// 7)显示所有节点
public void STLAll(STL sl){
int i;
for(i=0;i<sl.ListLen -1 ;i++){
SYSO("输出书友节点的内容");
} }
Java算法 -- 顺序表的更多相关文章
- java实现顺序表、链表、栈 (x)->{持续更新}
1.java实现节点 /** * 节点 * @luminous-xin * @param <T> */ public class Node<T> { T data; Node& ...
- 五种编程语言解释数据结构与算法——顺序表2(java与C++语言实现)
5.java实现方式: 5.1.顺序表的抽象结构 package com.xgp.顺序表; public interface MyList<T> { //1. initList(& ...
- 线性表 及Java实现 顺序表、链表、栈、队列
数据结构与算法是程序设计的两大基础,大型的IT企业面试时也会出数据结构和算法的题目, 它可以说明你是否有良好的逻辑思维,如果你具备良好的逻辑思维,即使技术存在某些缺陷,面试公司也会认为你很有培养价值, ...
- Java实现顺序表
利用顺序存储结构表示的顺序表称为顺序表. 它用一组连续的地址存储单元一次存放线性表中的数据元素. 顺序表的实现是数据结构中最简单的一种. 由于代码中已经有详细注释,代码外不再阐述. 下次再陈上关于顺序 ...
- 数据结构——Java实现顺序表
一.分析 什么是顺序表?顺序表是指用一组地址连续的存储单元依次存储各个元素,使得在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中的线性表.一个标准的顺序表需要实现以下基本操作: 1.初始化顺序表 ...
- (java实现)顺序表-ArrayList
什么是顺序表 顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构. 在使用顺序表存储数据前,会先申请一段连续的内存空间(即数组),然后把数组依次存入 ...
- 五种编程语言解释数据结构与算法——顺序表1(理论与C语言实现)
1.线性表的分类 2.线性表的定义及其基本操作 2.1.定义:线性表是具有相同类型的n(n>=0)个元素的有序序列,其中n为表长,当n=0时,该表为空表. 2.3.线性表的逻辑结构为: 2.4. ...
- 五种编程语言解释数据结构与算法——顺序表3(JavaScript与Python语言实现)
7.JavaScript语言实现 7.1.用ES6语法编写顺序表类 //1.创建类 class MyList { //1. initList(&L):初始化表.构造一个空的线性表.放回值应该是 ...
- Java数据结构——顺序表
一个线性表是由n(n≥0)个数据元素所构成的有限序列. 线性表逻辑地表示为:(a0,a1,…,an-1).其中,n为线性表的长度,n=0时为空表.i为ai在线性表中的位序号. 存储结构:1.顺序存储, ...
随机推荐
- html——网页高度
确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条) var w=window.innerWidth || document.documentElement.clientWidth || doc ...
- halcon-车牌识别
halcon代码: 1: read_image(Image,'D:/MyFile/halcon/车牌识别/图片.jpg') 2: decompose3(Image,ImageR,ImageG,Imag ...
- webpy简单使用
#!/usr/bin/env python import web import pymysql.cursors # Connect to the database connection = pymys ...
- dbf 命令 及数据类型
left()函数只能截取左边几位字符,截取中间字符用SUBSTR() SUBSTR(cExpression, nStartPosition [, nCharactersReturned]) dbf u ...
- 在EXCEL中使用SQL语句查询
SQL语句在数据库使用中十分重要. 在EXCEL中可以不打开工作簿,就获取数据,对多工作簿操作很用,也很快. 对大量数据处理,比循环快很多,但是比词典方法还有点距离(可惜我还没有学会词典). 对数据库 ...
- 利用redis限制单个时间内某个mac地址的访问次数
一.思路 用户mac地址唯一,可以作为redis中的key,每次请求进来,利用ttl命令,判断redis中key的剩余时间,如果大于零,则利用incr进行+1操作,然后再与总的限制次数作对比. 二.代 ...
- HTTP 1.0 & 1.1
简介: HTTP ( HyperText Transfer Protocol ) 超文本传输协议,是互联网上应用最广泛的一种网络协议. HTTP 是一个客户端和服务端请求.应答的标准.使用 WEB 浏 ...
- spring注解扫描组件注册
最近对单点系统进行微服务拆分,被各个springboot的组件注册搞得云里雾里的.(有的是通过springboot的自动配置进IOC容器的,有的是自己添加构造方法添加进IOC容器.)决定抽时间将spr ...
- Spring <context:annotation-config />讲解
在基于主机方式配置Spring的配置文件中,你可能会见到<context:annotation-config />这样一条配置,他的作用是向Spring容器注册AutowiredAnnot ...
- 详细探究Spark的shuffle实现
Background 在MapReduce框架中,shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过shuffle这个环 节,shuffle的性能高低直接影响 ...