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;
}

数据结构C++顺序表SeqList类

  • 2009年11月08日 20:57
  • 599B
  • 下载

SeqList 顺序表的实现

SeqList.h#include "stdio.h" #include "math.h"//#define LISTSIZE 100 //typedef int DataType;typedef s...

【数据结构】顺序表seqlist

#include #include #include typedef struct seqlistNode { int date; }seqlistNode; typedef struc...

SeqList 顺序表的静态实现

顺序表是C语言中一种基本的结构,可以存储各种基本类型的数据,而且不但可以存储基本类型的数据,也可以存储一种结构。一个顺序表应该具有的功能,头插,尾插,定点插入,排序等等都是一些最基本的功能,通过学习整...

使用顺序表类SeqList求解约瑟夫环问题

约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出...

顺序表类:class SeqList

//顺序表,不是字符串没'\0' //默认4个,增删6个,查找,打印,容量检测 #pragma once #include #include using namespace std; typ...

数据结构封装之 《SeqList顺序表》

数据结构封装之 《SeqList顺序表》 记录自己的学习过程,有兴趣的朋友可以加个好友,相互学习。...

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

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

数据结构封装之《SeqList顺序栈》

数据结构学习记录

循序表的(SeqList.h)

#ifndef __SEQLIST_H__ #define __SEQLIST_H__#define FALSE -1 #define TRUE 0#define INIT_SIZE ...
  • NF0102
  • NF0102
  • 2017年07月27日 00:37
  • 76
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SeqList——顺序表
举报原因:
原因补充:

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