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

 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. Linux下编译、安装php

    一.apache环境下php的安装步骤如下:[注意:编译安装php前,应先安装好apache,因为编译php时要用到apache的路径] 1. 在http://www.php.net/download ...

  2. **请写出一段Python代码实现删除一个list里面的重复元素

    通常涉及到去重操作最好使用set,但是考虑到某些时候可能遇到不允许使用set的情况,那就自己实现一下: l = [2, 4, 5, 6, 1, 3, 4, 5] def f(l, b=0, c=1): ...

  3. C/C++字符串查找函数 <转>

    C/C++ string库(string.h)提供了几个字符串查找函数,如下: memchr 在指定内存里定位给定字符 strchr 在指定字符串里定位给定字符 strcspn 返回在字符串str1里 ...

  4. [Android]RecyclerView添加HeaderView出现宽度问题

    通过getItemViewType方式判断HeaderView方式添加HeaderView的,结果发现有几个界面HeaderView宽度不能满屏. 于是对比了几种布局,发现LinearLayout为根 ...

  5. Django之ModelForm篇

    ModelForm a. class Meta: model, # 对应Model的 fields=None, # 字段 exclude=None, # 排除字段 labels=None, # 提示信 ...

  6. 微信公众号token 验证

    1. 首先给出测试项目的整体目录: 2. CoreServlet类: 当get请求的时候会执行get方法,post请求的时候会执行post方法,分别来处理不同的请求 package com.zjn.s ...

  7. 论immutable不可变性

    什么叫immutable和mutable?简单来讲,一个immutable的对象一旦被创建好,它的状态将不会改变.反过来,如果一个类的实例是immutable的,那么我们把这个类也称作immutabl ...

  8. windows下使用GNU make命令报错的解决方法

    windows下使用GNU make命令报错的解决方法=> 错误信息:make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x ...

  9. 编码总结,以及对BOM的理解

    一.前言 在跨平台.跨操作系统或者跨区域之间,经常会涉及到编码的问题,因为前段时间在项目中,遇到了因为编码而产生乱码的问题,以前对编码也是一知半解,所以决定对编码有一个更为深入的了解,因此才有了这篇自 ...

  10. Nginx源码完全注释(3)ngx_list.h / ngx_list.c

    列表头文件ngx_list.h #ifndef _NGX_LIST_H_INCLUDED_ #define _NGX_LIST_H_INCLUDED_ #include <ngx_config. ...