数据结构是计算机类学生基本上必修的一门课程,也是比较难得一门课程。对于初学者来说刚开始学肯定会不理解,感觉很难,所以最近写了个数据结构的顺序表。顺序表包含了初始化、判空、求表长、销毁、定位、删除、插入、等十二个基本操作。运行了一下感觉还可以,所以想拿出来和大家分享一下!以下是源代码,建立一个工程
第一个头文件:一些基本的定义声明
#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define FALSE -1
#define TURE 1
#define ERROR -1
#define OVERFLOW -1
#define INFEASIBLE -1
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef int Status;
typedef int ElemType;
typedef struct {
ElemType *elem;
int length;
int listsize;
}Sqlist;
第二个头文件:十二个基本函数
#include"header.h"
//1、初始化
Status InitList(Sqlist&L)
{
L.elem=((ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType)));
if(!L.elem)
return ERROR;
L.length=0;
L.listsize= LIST_INIT_SIZE;
return OK;
}
//2、销毁
void Destorylist(Sqlist&L)
{
if(L.elem)
free(L.elem);
L.elem=NULL;
}
//3、清空
void ClearList(Sqlist &L)
{
L.length=0;
}
//4、判空
Status EmptyList(Sqlist L)
{
if(L.length==0)
return TURE;
else
return FALSE;
}