SeqList——顺序表

原创 2012年03月25日 23:50:22
/*
** 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 
#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;
}
#include 
#include 
#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;
}

顺序表----java实现

最简单的数据结构——顺序表,此处以数组为例。 顺序表的优点:支持随机读取,内存空间利用率高。 顺序表的缺点:1.需要预先给出最大数据元素个数,这往往很难实现。  2.插入和删除时需要移动大量数据。 S...
  • u010093630
  • u010093630
  • 2013年12月29日 17:40
  • 1817

顺序表(Seqlist)&链表(List)的基础操作

顺序表和链表是数据结构的基础结构之一,同样也是面试的基础。初学者对于Seqlist和List的增删改查的基础练习,为其后的Tree,HashTable,Binary Linked List,Trige...
  • Xiao__Tian__
  • Xiao__Tian__
  • 2016年06月05日 00:05
  • 3505

如何自己实现模板类(简单案例——顺序表)

可以将模板类SeqList的定义及成员函数的实现代码全部写到SeqList.h头文件中,则在实例化该类后可进行基本的线性表操作 具体的代码怎么写,其实核心就是 template 其中 T 就是一个未...
  • x_y_q_
  • x_y_q_
  • 2016年08月18日 10:07
  • 838

【数据结构】顺序表seqlist

#include #include #include typedef struct seqlistNode { int date; }seqlistNode; typedef struc...
  • a781558066
  • a781558066
  • 2015年01月18日 14:10
  • 463

SeqList(顺序表的实现)

顺序表也就是我们常说的数组,今天就是把对于数组 的各种操作封装成类,下面就来看具体的实现:     我们先来看test.h的内容: #ifndef _TEST_H_ #define _TEST_H...
  • ooooo12345re
  • ooooo12345re
  • 2016年04月06日 17:04
  • 521

顺序表实现(SeqList C++)

#include class SeqList { protected: DataType *list; int maxSize; int size; public: SeqL...
  • tyt2222008
  • tyt2222008
  • 2010年07月15日 10:10
  • 1295

SeqList 顺序表的实现

SeqList.h#include "stdio.h" #include "math.h"//#define LISTSIZE 100 //typedef int DataType;typedef s...
  • fuemocheng
  • fuemocheng
  • 2016年07月26日 15:17
  • 429

顺序表类:class SeqList

//顺序表,不是字符串没'\0' //默认4个,增删6个,查找,打印,容量检测 #pragma once #include #include using namespace std; typ...
  • AlwenZwei
  • AlwenZwei
  • 2017年07月22日 17:11
  • 165

简单顺序表的插入,删除,指定位置,指定元素的插入删除操作

简单顺序表的首部和尾部的插入删除,查找指定元素,删除指定元素,删除指定位置的元素,删除指定元素。...
  • o_bvious
  • o_bvious
  • 2016年05月09日 22:48
  • 1525

来吧java,创建一个SeqList类

package DataStructureTest; public class SeqList implements LList { private Object[] element;//声明...
  • hayre
  • hayre
  • 2014年11月26日 19:45
  • 669
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SeqList——顺序表
举报原因:
原因补充:

(最多只允许输入30个字)