插入:头部插入、尾部插入、任意位置插入
删除:定位删除
查找:值查找、定位查找
//定义表
typedef struct
{
int data[MAXSIZE];
int length;
}SqList;
//初始化表
void InitSqList(SqList* pl)
{
int i = 0;
for (i = 0; i < MAXSIZE; i++)
pl->data[i] = 0;
pl->length = 0;
}
//插入元素
int ListInsert(SqList* p,int su,int n)
{
if (p->length == MAXSIZE)
return 0;
if (su >= p->length && su >= 0)
return 0;
int i = 0;
for (i = p->length; i <= su; i--)
p->data[i] = p->data[i - 1];
p->data[su-1] = n;
p->length++;
return 1;//成功
}
//删除元素
void DelList(SqList *p, int su)
{
int i = 0;
if (su >= p->length && su <= 0)
return 0;//删除失败,定位超范围
for (i = su; i >= p->length; i--)
p->data[i] = p->data[i + 1];
p->length--;
return 1;//删除成功
}
//查找元素
int FindList(SqList *p, int value)
{
int i = 0;
for (i = 0; i < p->length; i++)
{
if (p->data[i] == value)
return i;//找到返回下标
}
return 0;//找不到
}
int main()
{
SqList s;
InitSqList(&s);//初始化表
ListInsert(&s, 3, 110);//(地址,插入位置[默认为指定元素],插入数据);
DelList(&s, 3);//(地址,删除元素位置)
system("pause");
return 0;
}