C#实现顺序表

这几天需要实现各种数据结构(泛型).主要实现线性表和链表。

线性表是由n(n>=0)个相同类型的数据元素构成的有限序列。除第一个元素外,其余元素只有一个直接前驱;除最后一个元素外,其余元素只有一个直接后继。

顺序表是把表中元素一个接一个地放进一快地址连续的空间,因此顺序表的实现有数组来完成。

由于这次需要实现多种数据结构,各种数据结构都有相同的方法,比如求长度,清空等。因此定义一个公共接口:

namespace DateStructrues
{
  public interface IDS<T>
  {
    int Count { get;}     //求长度
    void Clear(); //清空操作
    bool IsEmpty{get;}   //判断线性表是否为空
  }
}

线性表接口:

namespace DateStructrues.Lists
{
  interface IListDS<T> : IDS<T>
  {
    void Append(T item); //附加操作
    void Insert(T item, int index); //插入操作
    T Delete(int index); //删除操作
    T GetElement(int index); //取表元
    int Locate(T value); //按值查找
  }
}

时间: 2024-12-23 04:21:07

C#实现顺序表的相关文章

顺序存储线性表-数据结构顺序表的操作(c++)

问题描述 数据结构顺序表的操作(c++) 求解答谢谢 解决方案 贴出代码而不是截图.发了帖子你难道自己不看下.这么小的字根本看不清. 解决方案二: 什么是线性表?定义:由n(n>=0)个数据类型相同的数据元素组成的有限序列.特点是:在数据元素的非空有限集合中,除第一个元素无直接前驱,最后一个元素无直接后继外,集合中其余每个元素均有唯一的直接前驱和直接后继.什么是顺序表,在这里回答一下.顺序表就是线性表的顺序存储,其特点是:物理顺序与逻辑顺序是相同的,关系线性化,结点顺序存.线性表顺序存储的表示?

数据结构教程 第二十九课 静态查找表(一)顺序表的查找

教学目的: 掌握查找的基本概念,顺序表查找的性能分析 教学重点: 查找的基本概念 教学难点: 顺序表查找的性能分析 授课内容: 一.查找的基本概念 查找表: 是由同一类型的数据元素(或记录)构成的集合. 查找表的操作: 1.查询某个"特定的"数据元素是否在查找表中.2.检索某个"特定的"数据元素的各种属性.3.在查找表中插入一个数据元素:4.从查找表中刪去某个数据元素. 静态查找表 对查找表只作前两种操作 动态查找表 在查找过程中查找表元素集合动态改变 关键字 是数

顺序表的实现示例

线性表的顺序实现例子 .h文件 此文件为方法 #ifndef SQLIST_H_INCLUDED #define SQLIST_H_INCLUDED #include "ds.h" //for Status,OK ... #ifndef ElemType #define ElemType int /* 数据元素类型默认为 int */ #define ELEMTYPE_TAG #endif /***********************************************

写入时冲突-用c语言建立一个顺序表,并且对表进行操作

问题描述 用c语言建立一个顺序表,并且对表进行操作 写了个小程序,目的要求:用c语言建立一个顺序表,表中元素为学生,每个学生信息包含姓名.学号和成绩三部分,对该表实现:① 输出.② 插入.③ 删除.④ 查找功能,并计算出平均成绩和总成绩 感觉我的代码没什么问题,编译也正常通过,但是每次运行都会出现这样的问题,不知道是什么原因,希望又高手能帮忙解答下,谢了 #include#include void chu(int a); void zhao(int a);void cha(int a); voi

归并排序-数据结构C语言顺序表的排序和删除问题

问题描述 数据结构C语言顺序表的排序和删除问题 顺序表定义的长度为10000,此时程序可以正常运行:把顺序表长度改成500000,程序出错,不能运行.求问大神是哪里出了错误,还是要提高存储上限?如何改正?#include #include #include typedef int ElemType; #define MAX 10000 typedef struct{ ElemType *elem; int length; }SqList; void InitList(SqList &L){ L.

malloc-数据结构顺序表C语言实现

问题描述 数据结构顺序表C语言实现 如下代码所示: #include <stdio.h> #include <malloc.h> #define MAXSIZE 100 typedef int Position; typedef struct LNode *List; struct LNode{ int Data[MAXSIZE]; Position last; }; List initList(){ List L; L = (List)malloc(sizeof(struct L

C语言顺序表基本操作,刚学数据结构还不懂怎么操作?求助!!

问题描述 C语言顺序表基本操作,刚学数据结构还不懂怎么操作?求助!! 1.建立一个顺序表,要求从键盘输入10个整数,并将该顺序表的元素从屏幕显示出来. 2.用函数实现在顺序表中查找其中一个元素,如果找到,返回该元素在顺序表中的位置和该元素的值,否则提示无此元素. 3.用函数实现顺序表的插入和删除操作.由用户输入待插入元素及插入位置,将完成插入后的顺序表输出:由用户输入删除第几个元素,将完成删除后的顺序表输出. 解决方案 http://zhidao.baidu.com/link?url=n-XCi

线性表-数据结构顺序表合并中指针怎么用才能运行?

问题描述 数据结构顺序表合并中指针怎么用才能运行? 已知线性表LA和LB中的数据元素按值非递减有序,现要求将LA和LB归并为一个新的线性表LC,且LC中的数据元素仍按值非递减有序排列. 怎么改呢? 初学,数据结构小白 额..,用的顺序表 解决方案 http://blog.sina.com.cn/s/blog_9671d51801019cpj.html 解决方案二: 数据结构笔记--顺序表数据结构 顺序表及合并数据结构之顺序表

很奇怪的数据结构顺序表问题

问题描述 很奇怪的数据结构顺序表问题 用c++写了一个顺序表的程序,如下 #ifndef SEQLIST_H_INCLUDED #define SEQLIST_H_INCLUDED using namespace std; template <class T> class seqList { private: T * data; int maxSize; int last; public: seqList(int sz = 2); ~seqList(); bool Insert(int i,