数据结构(C#):顺序表

线性表是有限个数据元素的序列。线性表的存储有顺序存储和链式存储两种。

为使线性表支持相同的API,定义了以下接口,分别用顺表和链表实现。

/*
* File   :  ILinerList.cs
* Author  :  Zhenxing Zhou
* Date   :  2008-12-06
* Blog   :  http://www.xianfen.net/
*/
using System.Collections.Generic;
namespace Xianfen.Net.DataStructure
{
   interface ILinearList<T> : IEnumerable<T>
   {
     void Add(T t);
     void AddHead(T t);
     void AddTail(T t);
     void Clear();
     int Count { get; }
     int Find(T t);
     T GetAt(int pos);
     T GetHead();
     T GetTail();
     void InsertAt(T t, int pos);
     bool IsEmpty { get; }
     void RemoveAll();
     void RemoveAt(int pos);
     void RemoveHead();
     void RemoveTail();
     void SetAt(int pos, T t);
   }
}

时间: 2024-09-08 15:28:26

数据结构(C#):顺序表的相关文章

算法与数据结构之顺序表顺序表

著名的计算机科学家N.Wirth教授曾提出一个公式:算法+数据结构=程序 "数组"类型表示顺序存储结构,用指针来表示链式存储结构.指针p指向下一个对象单元,p的值不是一增加1,而是增加对象类型所占的字节数. 一个结构提示类型student,没有定义变量,就不会分配存储单元,不能再程序中直接访问结构体类型名. 线性表是N个具有相同特性的数据元素的有限序列.线性表分为 顺序存储结构和链式存储结构. 顺序表: /*顺序表的建立与输出*/ #include<stdio.h>#inc

java数据结构实现顺序表示例_java

复制代码 代码如下: import java.util.Arrays;/** * 顺序线性表的实现 */public class LineList<E>{  private int size;   //长度 private Object[] array;  //底层数组 private final int default_length=16; //默认长度 /**  * 无参构造方法  */ public LineList(){  size = 0;  //使用默认长度构造数组  array

数据结构实践——顺序表:两集合的交集

[项目 - 求集合并集] 假设有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即线性表中的数据元素即为集合中的成员.设计算法,用函数unionList(List LA, List LB, List &LC )函数实现该算法,求一个新的集合C=A∪B,即将两个集合的并集放在线性表LC中. 提示: (1)除了实现unnionList函数外,还需要在main函数中设计代码,调用unionList进行测试和演示: (2)可以充分利用前面建好的算法库[点击-],在程序头部直接加 #incl

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

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

归并排序-数据结构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.

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

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

调试-数据结构顺序表debug assertion failed

问题描述 数据结构顺序表debug assertion failed //文件linearlist.h #include template class LinearList { public: virtual bool Isempty()const=0; virtual int Length()const=0; virtual bool Find(int i,T &x)const=0; virtual int Search(T x)const=0; virtual bool Insert(int

c++-请问谁有数据结构(C++)顺序表的源代码

问题描述 请问谁有数据结构(C++)顺序表的源代码 输入几个数,然后实现由小到大的排列,之后再第一个数和第二个数之间插入一个数 解决方案 http://blog.csdn.net/ristal/article/details/5915097 解决方案二: 数据结构电话号码本源代码(顺序表)数据结构 顺序表的操作(源代码)数据结构之顺序表

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

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

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

问题描述 很奇怪的数据结构顺序表问题 用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,