以前写博客,为了增加关注度,现在呢?写给自己
线性表是一种典型的线性结构,是最简单、最常用的数据结构,比如栈、队列都可以说是线性表.
逻辑结构:
由n个数据元素构成,对于非空的来说,有且只有一个开始结点,有且只有一个尾巴结点,内部结点有且只有一个直接前驱,和一个直接后驱。同一个线性表内部的数据元素的类型相同,每个元素的数据元素相同
数据操作:
初始化、计算表长、获取结点、查找结点、插入结点、删除结点
存储:
1.顺序存储:
构造数据元素:
public class DATA { String key;//结点的关键字 String name; int age; }
构造线性表:
/** * 主要用于定义顺序表结构 * @author Administrator * */ public class SLType { static final int MAXLEN=100; DATA[] ListData =new DATA[MAXLEN+1];//定义顺序表的结构数组 int ListLen;//顺序表已存结点的数量 void SLInit(SLType SL){ //初始化顺序表 SL.ListLen=0;//初始化为空表 } int SLLength(SLType SL){ return (SL.ListLen); //返回顺序表的元素数量 } int SLInsert(SLType SL,int n,DATA data){ int i; if(SL.ListLen>=MAXLEN){ System.out.print("顺序表已满,不能插入结点!\n"); return 0; } if(n<1||n>SL.ListLen-1){//插入结点序号不正确 System.out.print("插入元素序号错误,不能插入元素!\n"); return 0; } for(i=SL.ListLen;i>=n;i--){ SL.ListData[i+1]=SL.ListData[i]; } SL.ListData[n]=data; SL.ListLen++; return 1; } int SLAdd(SLType SL,DATA data){//增加元素到顺序表的尾部 if(SL.ListLen>=MAXLEN){ //顺序表已经满了 System.out.println("顺序表已满,不能在加结点了"); return 0; } SL.ListData[++SL.ListLen]=data; return 1; } int SLDelete(SLType SL,int n){ //删除顺序表中的数据元素 int i; if(n<1||n>SL.ListLen+1){ System.out.println("删除结点序号错误,不能删除成功!\n"); return 0; } for(i=n;i<SL.ListLen;i++){ SL.ListData[i]=SL.ListData[i+1]; } SL.ListLen--; return 1; } DATA SLFindByNum(SLType SL,int n){ if(n<1||n>SL.ListLen+1){ System.out.println("结点序号错误,不能返回结点!\n"); return null; } return SL.ListData[n]; } int SLFindByCount(SLType SL,String key){ int i; for(i=1;i<=SL.ListLen;i++){ if(SL.ListData[i].key.compareTo(key)==0){ return i; } } return 0; } int SLALL(SLType SL){ //显示顺序表中的所有结点 int i; for(i=1;i<=SL.ListLen;i++){ System.out.print("{"+SL.ListData[i].key+","+ SL.ListData[i].name+","+SL.ListData[i].age+"}"); } return 0; } }
.....
测试结果:
以前老是看不懂,明明知道数据结构是基础,很重要的,今天突然就明白了,呵.
相关推荐
具体来说,实验要求学生通过键盘输入数据来建立两个有序线性表,并最终将这两个有序线性表合并成一个新的有序线性表。 #### 实验内容与要求详解 1. **线性表的构建**: - 实验首先要求从键盘输入数据,构建两个...
标题 "将一个整数线性表拆分成奇数和偶数线性表" 涉及的核心知识点是数据结构中的线性表操作以及算法设计。线性表是一种基本的数据结构,它由有限个相同类型元素构成的有序序列,常见的实现方式有数组和链表。 在本...
### 线性表在C语言中的实现 #### 一、引言 线性表是计算机科学中最基本的数据结构之一,它是由n个相同类型的元素组成的一个有限序列。线性表可以通过顺序存储或链式存储两种方式来实现。本文将通过分析一段C语言...
数据结构线性表作业 在本资源中,我们将深入探讨数据结构线性表的作业,涵盖了线性表的定义、特点、操作和应用。同时,我们还会解释线性表的频度、时间复杂度和空间复杂度等概念,并通过具体的代码示例和算法来实现...
线性表是计算机科学中一种基础的数据结构,它是由n(n≥0)个相同类型元素构成的有限序列。在顺序存储结构中,线性表的元素被存储在一个一维数组中,按照它们在表中的相对位置来表示数据之间的逻辑关系。这种方式...
### 线性表的应用(数据结构-线性表) #### 实验目的 通过本实验,学生将能够深入了解线性表的基本结构与操作方法,并掌握如何利用这些基本知识来解决实际问题。具体而言,学生应能够: - 理解线性表的基本概念...
线性表是一种基础的数据结构,它是由相同类型元素构成的有限序列。在计算机科学中,线性表的操作集合通常包括创建、插入、删除、获取元素和合并等基本操作。以下是对给定文件中涉及的线性表操作的详细解释: 1. **...
线性表是计算机科学中一种基础且重要的数据结构,它由一组相同类型的数据元素按特定顺序排列而成。在这个“线性表的合并/c语言”项目中,我们将探讨如何使用C语言来实现线性表的合并操作,特别是针对有序线性表的...
在编程领域,线性表是一种基础且重要的数据结构,它由有限个相同类型元素组成,元素之间存在一对一的关系。在C#中,我们可以通过类和接口来实现线性表,同时利用泛型来提高代码的复用性。下面将详细探讨如何在C#中...
线性表是一种基础的数据结构,它是由n(n>=0)个相同类型元素构成的有限序列。在C#中,我们可以使用数组或者列表(List)来实现线性表。这个线性表小程序提供了对线性表的基本操作,包括元素的插入、删除以及线性表的...
线性表是数据结构中最基础且重要的一种结构,它是由n(n≥0)个相同类型元素构成的有限序列。在C语言中实现线性表,通常会涉及到数组或链表这两种方式。下面我们将深入探讨如何用C语言来实现线性表,并结合描述和...
线性表的合并通常涉及到两个或更多线性表的组合,目标是形成一个新的线性表,其中包含所有原始线性表的元素。在C++中,我们可以使用数组、链表或者动态数组(如std::vector)来表示线性表。这里我们将主要讨论基于...
【线性表的基本操作实验报告】 线性表是数据结构中的基本概念,它是由n(n≥0)个相同类型元素构成的有限序列。在这个实验报告中,我们将深入理解和掌握线性表的顺序存储结构以及相关操作。实验的主要目的是通过...
数据结构线性表的实现和归并 本文主要介绍数据结构中线性表的实现和归并,通过编写程序,建立两个非递减存储的顺序线性表,并将其归并为一个非递减顺序的线性表。 线性表的定义和实现 线性表是一种基本的数据结构...
线性表的顺序存储结构是数据结构中一种基础且重要的概念,它是指用一组连续的存储单元存储线性表中的所有元素。在这个演示程序中,线性表被用来存储学生信息,每个学生的信息由结构体`STU`表示,包含了姓名、学号、...
线性表是一种基础且重要的数据结构,它是由n(n≥0)个相同类型元素构成的有限序列。在计算机科学中,线性表的顺序存储是常用的数据组织方式,其特点是元素在内存中按顺序连续存放。本话题将深入探讨线性表的顺序...
### 线性表的实现知识点详解 #### 一、线性表的概述与存储方式 线性表是计算机科学中最基本的一种数据结构之一,它由相同类型的数据元素构成,这些元素之间存在着一种先后关系。根据存储方式的不同,线性表可以分为...
### 线性表的实现实验报告 #### 实验背景与目的 线性表是计算机科学中最基本的数据结构之一,它是由n(n≥0)个相同类型元素组成的有限序列。线性表中的元素可以是任何类型的数据,如整数、字符等。线性表有两种主要...
初始化线性表 *\n"; cout* 2.删除线性表中所有元素 *\n"; cout* 3.得到线性表的长度 *\n"; cout* 4.检查线性表是否为空 *\n"; cout* 5.得到线性表中指定序号元素 *\n"; cout* 6.遍历一个线性表 *\n"; cout* 7....