静态顺序表
:所谓静态顺序表就是把空间的大小给定
结构体的定义:
typedef struct SeqList
{
DataType array[MaxSize];
int size;
}SeqList;
基本操作的实现:
void InitSeqList(SeqList* pSeq)
{
assert(pSeq);
memset(pSeq->array, 0, MaxSize*sizeof(DataType));
pSeq->size = 0;
}
void PrintSeqList(SeqList* pSeq)
{
assert(pSeq);
for (int i = 0; i < pSeq->size; i++)
{
printf("%d\n", pSeq->array[i]);
}
printf("\n");
}
void PushBack(SeqList* pSeq, DataType data)//尾插
{
assert(pSeq);
if (pSeq->size == MaxSize)
{
printf("Capacity Is Full!\n");
return;
}
pSeq->array[pSeq->size++] = data;
}
void PopBack(SeqList* pSeq)//尾删
{
assert(pSeq);
if (0 == pSeq->size)
{
printf("Capacity Is Empty!\n");
return;
}
pSeq->size--;
}
void PushFront(SeqList* pSeq, DataType data)//头插
{
assert(pSeq);
if (pSeq->size == MaxSize)
{
printf("Capacity Is Full!\n");
return;
}
int i = pSeq->size - 1;//定位到顺序表的最后一个元素
for (; i >= 0; i--)
{
pSeq->array[i + 1] = pSeq->array[i];
}
pSeq->array[0] = data;
pSeq->size++;
}
void PopFront(SeqList* pSeq)//头删
{
assert(pSeq);
if (pSeq->size == 0)
{
printf("Capacity Is Empty!\n");
return;
}