`

SeqList——顺序表

 
阅读更多
/*
** 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-&gt;length = 0;
}

int InsertEle(SeqList *L, int index, EleType data)
{
    int i = 0;
    
    if(L == NULL &amp;&amp; (index &lt; 0 &amp;&amp; index &gt; L-&gt;length - 1)
	|| L-&gt;length &gt;= MAX_SIZE)
    {
	return ERROR;
    }

    /* insert a new element front of 'index'*/
    for(i = L-&gt;length - 1; i &gt; index - 1; --i)
    {
	(L-&gt;_seqList)[i + 1] = (L-&gt;_seqList)[i];
    }

    (L-&gt;_seqList)[index] = data;
    ++L-&gt;length;

    return SUCCESS;
}

int DeleteEle(SeqList *L, int index, EleType *data)
{
    int i = 0;
    
    if(L == NULL &amp;&amp; index &lt; 0 &amp;&amp; index &gt; L-&gt;length - 1
	&amp;&amp; data == NULL &amp;&amp; L-&gt;length &lt;= 0)
    {
	return ERROR;
    }

    *data = (L-&gt;_seqList)[index];
    for(i = index; i &lt; L-&gt;length; ++i)
    {
	(L-&gt;_seqList)[i] = (L-&gt;_seqList)[i + 1];
    }

    --L-&gt;length;

    return SUCCESS;
}

int GetEle(SeqList *L, int index, EleType *data)
{
    if(L == NULL &amp;&amp; index &lt; 0 &amp;&amp; index &gt; L-&gt;length - 1)
    {
	return ERROR;
    }

    *data = (L-&gt;_seqList)[index];

    return SUCCESS;
}

int GetSeqListLength(SeqList *L)
{
    return L-&gt;length;
}
</stddef>
#include <stdio h="">
#include <stdlib h="">
#include "SeqList.h"

/* Print */
void PrintSeqList(SeqList *L)
{
    int i = 0;

    for(i = 0; i &lt; L-&gt;length; )
    {
	printf("%4d", (L-&gt;_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(&amp;L);
    for(i = 0; i &lt; MAX_SIZE; ++i)
    {
	InsertEle(&amp;L, 0, rand() % 30);
    }

    PrintSeqList(&amp;L);

    return 0;
}
</stdlib></stdio>
分享到:
评论

相关推荐

    数据结构C++ 线性表——顺序表和单链表基本操作(含代码和注释).docx

    ### 数据结构C++ 线性表——顺序表和单链表基本操作 #### 一、概述 在《数据结构C++ 线性表——顺序表和单链表基本操作(含代码和注释).docx》文档中,作者详细介绍了如何在C++中实现顺序表和单链表的基本操作,并...

    实验一顺序表验证实验.pdf

    * 定义顺序表的数据类型——顺序表类SeqList,包括插入、删除、查找等基本操作 * 设计一个输出函数依次输出顺序表的元素 (b) 算法设计: * 顺序表类SeqList的定义 * 顺序表的有参构造函数 SeqList(T a[ ], int n) ...

    数据结构(顺序表和单链表)C++实现

    本话题主要探讨了两种基本的数据结构——顺序表和单链表,并提供了C++的实现。下面将详细阐述这两种数据结构及其C++实现的关键概念。 1. **顺序表(Sequential List)** 顺序表是一种线性数据结构,其中元素在内存...

    数据结构C++顺序表

    本主题聚焦于一种基础且重要的数据结构——顺序表,尤其关注如何在C++中实现这一概念。 顺序表是一种线性数据结构,其中元素在内存中按顺序存储。在C++中,我们可以使用数组来实现顺序表。这种结构的优点是访问速度...

    数据结构C#版笔记--顺序表(SeqList)

    ### 数据结构C#版笔记——顺序表(SeqList) #### 知识点概述 本文将详细介绍顺序表(SeqList)的概念、特点以及如何使用C#语言实现顺序表。 ### 线性结构概述 线性结构是最基本的数据结构之一,其特点是每个元素...

    顺序表的实现

    本文档详细介绍了如何在C++中实现一种基本的数据结构——顺序表。顺序表是一种线性表的存储结构,它通过连续的内存空间来存储数据元素,使得逻辑上相邻的元素在物理位置上也相邻。这种存储方式简化了对数据的操作,...

    《数据结构》实验指导(一).doc

    实现提示: 首先定义顺序表的数据类型——顺序表类SeqList,包括题目要求的插入、删除、查找 等基本操作,为便于查看操作结果,设计一个输出函数依次输出顺序表的元素。 const int MaxSize=10; template &lt;class T&gt; ...

    数据结构课程设计--顺序表的操作

    根据给定的文件信息,我们可以总结出以下关于“数据结构课程设计——顺序表的操作”的相关知识点: ### 一、背景信息 #### 1. 项目背景 - **学校**: 武汉理工大学 - **学院**: 计算机科学与技术学院 - **专业**: ...

    2第二章 线性表(顺序表 链表).pdf

    根据提供的文档信息,我们可以深入探讨线性表的相关概念及其两种主要实现形式——顺序表与链表。 ### 线性表定义 线性表是一种基本的数据结构,它由一系列具有相同特性的数据元素组成,这些元素按照一定的顺序排列...

    seq_list.rar_seq_list_seqlist数据结构_seq线性表_顺序表的list类

    在这个上下文中,`seq_list` 可能是一个特定实现的顺序表(顺序线性表),它是一个在内存中连续存储元素的集合。 顺序表是数据结构的一种,它按照元素的插入顺序进行存储。每个元素都有一个固定的位置,可以通过...

    shunxubiao.rar_K3W_devc++shunxubiao_顺序表的基本操作

    《顺序表的基本操作——以Dev-C++环境为例》 顺序表是数据结构中的一种基本类型,它在内存中连续分配空间来存储元素,是数组的一种抽象。本篇将重点介绍在Dev-C++环境下如何实现顺序表的基本操作,包括创建、插入、...

    数据结构C++版--顺序表的实现及基本操作

    本教程主要关注的是数据结构中的一个重要概念——顺序表的C++实现及其基本操作。顺序表是一种线性数据结构,其中元素在内存中以连续的存储单元进行存储,类似于数组。 顺序表在C++中的实现通常涉及动态内存分配,...

    List和SeqList

    本文将深入探讨两种链表实现——List和SeqList,以及它们与STL(Standard Template Library,标准模板库)中的list容器的关系。 首先,让我们来看看“List”。在C++中,STL提供了一个名为`std::list`的模板类,它是...

    数据结构实验1顺序表-链表.doc

    本文将详细介绍数据结构实验中涉及的两种基本数据结构——顺序表和链表,并提供相关操作的算法实现。实验的目标是理解并掌握线性表数据结构的概念、顺序和链式存储表示,以及在实际问题中的应用。实验内容包括顺序表...

    数据结构.docx

    今天,我们将讨论数据结构中的一种重要数据结构 —— 顺序表。 顺序表的定义 顺序表是一种由连续的存储单元组成的数据结构,每个存储单元可以存储一个数据元素。顺序表的主要特点是,它的每个元素都有一个唯一的...

    算法与数据结构实验指导

    实验一:算法转换为程序——顺序表 在这一实验中,主要目标是学习如何将算法转化为实际的程序,熟悉顺序存储结构,以及顺序表的操作和应用。实验内容包括将一个顺序表重新排列,使得所有小于第一个元素的元素位于其...

    数据结构各种算法实践

    这里我们将深入探讨两种常见的线性表——顺序表和单链表。 1、顺序表 顺序表是一种最基础的数据结构,它在内存中以连续的方式存储元素。在C++中,通常用数组来实现顺序表。`Seqlist.h`可能定义了一个顺序表类,...

    最新数据结构(Jva版)-线性表的实现与应用完整版.docx

    本实验主要关注两种常见的线性数据结构——顺序表和单链表,并讨论它们在Java中的实现与应用。以下是相关知识点的详细说明: 1. **顺序表**: - 顺序表是一种线性数据结构,其中元素存储在一块连续的内存区域中。...

    数据结构试验

    - 使用结构体`SeqList`定义顺序表,其中包含一个整型数组`data`用于存放表中的元素,以及一个整型变量`length`记录当前表的长度。 2. **创建顺序表**: - 函数`CreateList(SeqList *L, int n)`用于创建长度为`n...

    lhq.rar_visual c

    在这个名为“lhq.rar_visual c”的压缩包中,我们可以看到一个与顺序表操作相关的文件“2.6.1顺序线性表.txt”,这暗示了我们将会讨论的是C++编程中关于数据结构——顺序表的一些基础知识。 顺序表是一种最基础的...

Global site tag (gtag.js) - Google Analytics