Linear list——线性表
来源:互联网 发布:微信抢红包扫雷软件 编辑:程序博客网 时间:2024/06/07 00:23
一、基础
1.概念
线性表是相同类型的数据元素的有限序列,数据元素之间具有顺序关系。除第一个和最后一个数据元素之外,每个数据元素只有一个前驱数据元素和一个后驱数据元素。
2.线性表的基本操作
线性表的特点是可以在任意位置进行插入和删除数据元素的操作。对线性表的操作主要有:求长度、访问、插入、删除、复制、合并、查找、排序、遍历
3.存储结构
线性表有两种存储结构:顺序存储结构和链式存储结构。顺序表:用顺序存储结构实现的线性表链表:用链式存储结构实现的线性表
二、顺序表
1.实现
用数组可以实现顺序表。
/** * 线性表 * Created by zhaoxudong on 2017/12/2. */public class LinearList1 { private int table[];// private int n;//记录线性表的长度 /* 以上类型两个属性为什么要写成私有成员呢? 当使用一个线性表时,创建LinearList类的一个对象,通过调用这个类的公有地(public)方法进行相应的操作或访问类中的成员 对于使用这个类的程序员来说,只需关心这个类的功能即可;另外设计类是不需要向类之外的对象提供直接访问成员的功能。 这,就是类的封装! */ //1.顺序表的初始化 使用构造方法创建顺序表对象,为顺序表分配存储空间,设置顺序表空状态 public LinearList1(int n){ table=new int[n]; this.n=0; } //2.判断顺序表的空与满状态 public boolean isEmpty(){ //判断空 return n==0; } public boolean isFull(){ //判断满 return n>=table.length; } //3.返回顺序表长度 public int length(){ return n; } //4.获得顺序表的第i个元素值 public int get(int i){ if(i>0&&i<=n){ return table[i-1]; }else { return -1; } } //5.设置顺序表的第i个元素值 public void set(int i,int value){ if(i>0&&i<=n+1){ if(i==n+1){ //新增 n++; } table[i-1]=value; } } //6.查找 查找线性表中是否存在给定值 public boolean contains(int k){ int v=indexof(k); if (v==-1){ return false; }else { return true; } } public int indexof(int k){ //返回索引 for(int i=0;i<n;i++){ if(table[i]==k){ return i; } } return -1; } //7.在顺序表的第i个位置上插入数据元素}
阅读全文
0 0
- Linear list——线性表
- 线性表(Linear List)
- 【数据结构】线性表(Linear List)
- 斯坦福大学机器学习——线性回归(Linear Regression)
- UFLDL——Exercise: Linear Decoders 线性解码器
- 机器学习1——线性回归Linear Regression
- 浅谈CSS3新特性——线性渐变linear-gradient
- PYTHON机器学习实战——线性回归 Linear Regression
- Machine Learning—Generalized Linear Models广义线性模型
- 多元线性回归推导 — Multi-Variable Linear Regression Derivation
- 线性表——List(集合)
- AndrewNG机器学习听课笔记(1 )——线性回归(linear regression)
- 【机器学习-斯坦福】学习笔记18——线性判别分析(Linear Discriminant Analysis)(一)
- 【机器学习-斯坦福】学习笔记19——线性判别分析(Linear Discriminant Analysis)(二)
- AndrewNG机器学习听课笔记(1 )——线性回归(linear regression)
- 可扩展机器学习——线性回归(linear Regression)
- 机器学习(一)——线性回归(Linear Regression)
- 机器学习之线性分类器(Linear Classifiers)——肿瘤预测实例
- 跳马
- 实验三
- 总结kafka的consumer消费能力很低的情况下的处理方案
- android将输入框光标自动移到输入文字最后面
- nginx同一IP多域名配置方法
- Linear list——线性表
- C++简单文件输入输出
- 内存栈的分配和堆的分配 。printf函数的认识
- Mybatis分页插件-PageHelper的使用
- Jquery中Ajax处理跨域的方式
- 有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。
- 关于C#中ListView为表格视图的用法
- 记录监控Win7登录信息
- POJ 2386---水洼