顺序表结构定义:就是按照顺序存储方式存储的线性表

 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; // 当前数组
}
 
2.对顺序表的操作
    **注意判断临界点的情况
  • 初始化顺序表
  • 获取顺序表的长度
  • 往顺序表内插入数据
  • 追加节点
  • 删除节点
  • 查找节点   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算法 -- 顺序表的更多相关文章

  1. java实现顺序表、链表、栈 (x)->{持续更新}

    1.java实现节点 /** * 节点 * @luminous-xin * @param <T> */ public class Node<T> { T data; Node& ...

  2. 五种编程语言解释数据结构与算法——顺序表2(java与C++语言实现)

    5.java实现方式: 5.1.顺序表的抽象结构 package com.xgp.顺序表; public interface MyList<T> { //1. initList(& ...

  3. 线性表 及Java实现 顺序表、链表、栈、队列

    数据结构与算法是程序设计的两大基础,大型的IT企业面试时也会出数据结构和算法的题目, 它可以说明你是否有良好的逻辑思维,如果你具备良好的逻辑思维,即使技术存在某些缺陷,面试公司也会认为你很有培养价值, ...

  4. Java实现顺序表

    利用顺序存储结构表示的顺序表称为顺序表. 它用一组连续的地址存储单元一次存放线性表中的数据元素. 顺序表的实现是数据结构中最简单的一种. 由于代码中已经有详细注释,代码外不再阐述. 下次再陈上关于顺序 ...

  5. 数据结构——Java实现顺序表

    一.分析 什么是顺序表?顺序表是指用一组地址连续的存储单元依次存储各个元素,使得在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中的线性表.一个标准的顺序表需要实现以下基本操作: 1.初始化顺序表 ...

  6. (java实现)顺序表-ArrayList

    什么是顺序表 顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构. 在使用顺序表存储数据前,会先申请一段连续的内存空间(即数组),然后把数组依次存入 ...

  7. 五种编程语言解释数据结构与算法——顺序表1(理论与C语言实现)

    1.线性表的分类 2.线性表的定义及其基本操作 2.1.定义:线性表是具有相同类型的n(n>=0)个元素的有序序列,其中n为表长,当n=0时,该表为空表. 2.3.线性表的逻辑结构为: 2.4. ...

  8. 五种编程语言解释数据结构与算法——顺序表3(JavaScript与Python语言实现)

    7.JavaScript语言实现 7.1.用ES6语法编写顺序表类 //1.创建类 class MyList { //1. initList(&L):初始化表.构造一个空的线性表.放回值应该是 ...

  9. Java数据结构——顺序表

    一个线性表是由n(n≥0)个数据元素所构成的有限序列. 线性表逻辑地表示为:(a0,a1,…,an-1).其中,n为线性表的长度,n=0时为空表.i为ai在线性表中的位序号. 存储结构:1.顺序存储, ...

随机推荐

  1. stm32通信概述

    本文提到的内容有以下几个方面: 通信概述 串口通信 I2C通信 CAN通信 SPI通信 I2S通信 USB通信 其他通信 一.通信概述 按照数据传送方式分: 串行通信(一条数据线.适合远距离传输.控制 ...

  2. Octave中调用hist出现broken pipe some output may be lost octave的解决(Mac)

    参考:http://octave.1599824.n4.nabble.com/Mac-OS-X-Mountain-Lion-Octave-can-not-execute-sombrero-td4643 ...

  3. 用django实现redirect的几种方法总结

    用django开发web应用, 经常会遇到从一个旧的url转向一个新的url.这种隐射也许有规则,也许没有.但都是为了实现业务的需要.总体说来,有如下几种方法实现 django的 redirect.1 ...

  4. Oracle在linux中相关设置操作

    set linesize 300;  -- 设置行长度 set pagesize 300; set long 100000; -- 设置输出长度select dbms_metadata.get_ddl ...

  5. U3D 代码自动化生成定制预置体的旋转问题

    //定制预置体 //要求:1,模型面向U3D的Z轴正向(由MAX导出时是面向U3D的X负向的) //2,增加一些常用挂点,3增加一个圆形阴影片,4,添加包围盒 //根据这些要求制作预置休 static ...

  6. hibernate 错误 could not determine type for

    今天配置实体类注解时,出现以下错误: org.hibernate.MappingException: Could not determine type for: com.oneToOne.IdCard ...

  7. 【原】Coursera—Andrew Ng机器学习—Week 5 习题—Neural Networks learning

    课上习题 [1]代价函数 [2]代价函数计算 [3] [4]矩阵的向量化 [5]梯度校验 Answer:(1.013 -0.993) / 0.02 = 3.001 [6]梯度校验 Answer:学习的 ...

  8. Mysql事务及行级锁

    事务隔离级别 数据库事务隔离级别,只是针对一个事务能不能读取其它事务的中间结果. Read Uncommitted (读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果.本隔离 ...

  9. centos7 时间修改

    转子 http://blog.csdn.net/kuluzs/article/details/52825331 在CentOS 6版本,时间设置有date.hwclock命令,从CentOS 7开始, ...

  10. iOS8 无缝切换WKWebView,借鉴IMYWebview,解决进度条,cookie,本地页面等问题

    webkit使用WKWebView来代替IOS的UIWebView和OSX的WebView,并且使用Nitro JavaScript引擎,这意味着所有第三方浏览器运行JavaScript将会跟safa ...