/*
** File name: SeqList.h
** Author: ZhouFeng
** Date: 2012/03/25
*/
#ifndef SEQ_LIST_H
#define SEQ_LIST_H
#define MAX_SIZE 100
#define ERROR 0
#define SUCCESS 1
typedef int EleType;
typedef struct SeqList
{
EleType _seqList[MAX_SIZE];
int length;
}SeqList;
void InitSeqList(SeqList *L);
int InsertEle(SeqList *L, int index, EleType data);
int DeleteEle(SeqList *L, int index, EleType *data);
int GetEle(SeqList *L, int index, EleType *data);
int GetSeqListLength(SeqList *L);
#endif
/*
** File name: SeqList.c
** Author: ZhouFeng
** Date: 2012/03/25
*/
#include <stddef h="">
#include "SeqList.h"
void InitSeqList(SeqList *L)
{
if(L == NULL)
{
return;
}
L->length = 0;
}
int InsertEle(SeqList *L, int index, EleType data)
{
int i = 0;
if(L == NULL && (index < 0 && index > L->length - 1)
|| L->length >= MAX_SIZE)
{
return ERROR;
}
/* insert a new element front of 'index'*/
for(i = L->length - 1; i > index - 1; --i)
{
(L->_seqList)[i + 1] = (L->_seqList)[i];
}
(L->_seqList)[index] = data;
++L->length;
return SUCCESS;
}
int DeleteEle(SeqList *L, int index, EleType *data)
{
int i = 0;
if(L == NULL && index < 0 && index > L->length - 1
&& data == NULL && L->length <= 0)
{
return ERROR;
}
*data = (L->_seqList)[index];
for(i = index; i < L->length; ++i)
{
(L->_seqList)[i] = (L->_seqList)[i + 1];
}
--L->length;
return SUCCESS;
}
int GetEle(SeqList *L, int index, EleType *data)
{
if(L == NULL && index < 0 && index > L->length - 1)
{
return ERROR;
}
*data = (L->_seqList)[index];
return SUCCESS;
}
int GetSeqListLength(SeqList *L)
{
return L->length;
}
</stddef>
#include <stdio h="">
#include <stdlib h="">
#include "SeqList.h"
/* Print */
void PrintSeqList(SeqList *L)
{
int i = 0;
for(i = 0; i < L->length; )
{
printf("%4d", (L->_seqList)[i]);
++i;
if(i % 5 == 0)
{
printf("\n");
}
}
}
int main(int argc, char* argv[])
{
int i = 0;
SeqList L;
srand((unsigned long)time());
InitSeqList(&L);
for(i = 0; i < MAX_SIZE; ++i)
{
InsertEle(&L, 0, rand() % 30);
}
PrintSeqList(&L);
return 0;
}
</stdlib></stdio>
分享到:
相关推荐
### 数据结构C++ 线性表——顺序表和单链表基本操作 #### 一、概述 在《数据结构C++ 线性表——顺序表和单链表基本操作(含代码和注释).docx》文档中,作者详细介绍了如何在C++中实现顺序表和单链表的基本操作,并...
* 定义顺序表的数据类型——顺序表类SeqList,包括插入、删除、查找等基本操作 * 设计一个输出函数依次输出顺序表的元素 (b) 算法设计: * 顺序表类SeqList的定义 * 顺序表的有参构造函数 SeqList(T a[ ], int n) ...
本话题主要探讨了两种基本的数据结构——顺序表和单链表,并提供了C++的实现。下面将详细阐述这两种数据结构及其C++实现的关键概念。 1. **顺序表(Sequential List)** 顺序表是一种线性数据结构,其中元素在内存...
本主题聚焦于一种基础且重要的数据结构——顺序表,尤其关注如何在C++中实现这一概念。 顺序表是一种线性数据结构,其中元素在内存中按顺序存储。在C++中,我们可以使用数组来实现顺序表。这种结构的优点是访问速度...
### 数据结构C#版笔记——顺序表(SeqList) #### 知识点概述 本文将详细介绍顺序表(SeqList)的概念、特点以及如何使用C#语言实现顺序表。 ### 线性结构概述 线性结构是最基本的数据结构之一,其特点是每个元素...
本文档详细介绍了如何在C++中实现一种基本的数据结构——顺序表。顺序表是一种线性表的存储结构,它通过连续的内存空间来存储数据元素,使得逻辑上相邻的元素在物理位置上也相邻。这种存储方式简化了对数据的操作,...
实现提示: 首先定义顺序表的数据类型——顺序表类SeqList,包括题目要求的插入、删除、查找 等基本操作,为便于查看操作结果,设计一个输出函数依次输出顺序表的元素。 const int MaxSize=10; template <class T> ...
根据给定的文件信息,我们可以总结出以下关于“数据结构课程设计——顺序表的操作”的相关知识点: ### 一、背景信息 #### 1. 项目背景 - **学校**: 武汉理工大学 - **学院**: 计算机科学与技术学院 - **专业**: ...
根据提供的文档信息,我们可以深入探讨线性表的相关概念及其两种主要实现形式——顺序表与链表。 ### 线性表定义 线性表是一种基本的数据结构,它由一系列具有相同特性的数据元素组成,这些元素按照一定的顺序排列...
在这个上下文中,`seq_list` 可能是一个特定实现的顺序表(顺序线性表),它是一个在内存中连续存储元素的集合。 顺序表是数据结构的一种,它按照元素的插入顺序进行存储。每个元素都有一个固定的位置,可以通过...
《顺序表的基本操作——以Dev-C++环境为例》 顺序表是数据结构中的一种基本类型,它在内存中连续分配空间来存储元素,是数组的一种抽象。本篇将重点介绍在Dev-C++环境下如何实现顺序表的基本操作,包括创建、插入、...
本教程主要关注的是数据结构中的一个重要概念——顺序表的C++实现及其基本操作。顺序表是一种线性数据结构,其中元素在内存中以连续的存储单元进行存储,类似于数组。 顺序表在C++中的实现通常涉及动态内存分配,...
本文将深入探讨两种链表实现——List和SeqList,以及它们与STL(Standard Template Library,标准模板库)中的list容器的关系。 首先,让我们来看看“List”。在C++中,STL提供了一个名为`std::list`的模板类,它是...
本文将详细介绍数据结构实验中涉及的两种基本数据结构——顺序表和链表,并提供相关操作的算法实现。实验的目标是理解并掌握线性表数据结构的概念、顺序和链式存储表示,以及在实际问题中的应用。实验内容包括顺序表...
今天,我们将讨论数据结构中的一种重要数据结构 —— 顺序表。 顺序表的定义 顺序表是一种由连续的存储单元组成的数据结构,每个存储单元可以存储一个数据元素。顺序表的主要特点是,它的每个元素都有一个唯一的...
实验一:算法转换为程序——顺序表 在这一实验中,主要目标是学习如何将算法转化为实际的程序,熟悉顺序存储结构,以及顺序表的操作和应用。实验内容包括将一个顺序表重新排列,使得所有小于第一个元素的元素位于其...
这里我们将深入探讨两种常见的线性表——顺序表和单链表。 1、顺序表 顺序表是一种最基础的数据结构,它在内存中以连续的方式存储元素。在C++中,通常用数组来实现顺序表。`Seqlist.h`可能定义了一个顺序表类,...
本实验主要关注两种常见的线性数据结构——顺序表和单链表,并讨论它们在Java中的实现与应用。以下是相关知识点的详细说明: 1. **顺序表**: - 顺序表是一种线性数据结构,其中元素存储在一块连续的内存区域中。...
- 使用结构体`SeqList`定义顺序表,其中包含一个整型数组`data`用于存放表中的元素,以及一个整型变量`length`记录当前表的长度。 2. **创建顺序表**: - 函数`CreateList(SeqList *L, int n)`用于创建长度为`n...
在这个名为“lhq.rar_visual c”的压缩包中,我们可以看到一个与顺序表操作相关的文件“2.6.1顺序线性表.txt”,这暗示了我们将会讨论的是C++编程中关于数据结构——顺序表的一些基础知识。 顺序表是一种最基础的...