一、顺序表的初始化
代码如下:
void InitList(SqList &L)
{
for (int i = 0; i < MaxSize; i++)
L.data[i] = 0;//将所有数据元素设置为默认初始值
L.length = 0;//顺序表的初始长度为0
}
二.顺序表的插入
代码如下:
//在顺序表的第i(i表示位序)个位置插入e
bool ListInsert(SqList &L, int i, int e)
{
if (i<1 || i>L.length + 1)
return false;
if (i>MaxSize)
return false;
for (int j = L.length - 1; j > i - 2; j--)
{
L.data[j + 1] = L.data[j];
}
L.data[i - 1] = e;
L.length++;//经常忘记的一步
return true;
}
三、顺序表的删除
代码如下:
//删除顺序表中第i个元素,并用e带回
bool ListDelete(SqList &L, int i, int &e)
{
if (i<1 || i>L.length)
return false;
e = L.data[i - 1];
for (int j = i; j < L.length; j++)
L.data[j - 1] = L.data[j];
L.length--;//经常忘记的一步
return true;
}
四、顺序表的按位查找
代码如下:
//顺序表的按位查找
bool GetElem(SqList L, int i)
{
if (i<1 || i>L.length)
{
return false;
}
int e = L.data[i - 1];
printf("顺序表中第%d位的元素为%d\n",i, e);
}
五、顺序表的按值查找
<font color=#999AAA >代码如下:
bool LocateElem(SqList L, int e)
{
if (L.length < 1)
return false;
for (int j = 0; j < L.length; j++)
{
if (L.data[j] == e)
{
printf("顺序表中元素值为所输入值的位序为%d\n", ++j);
return true;
}
printf("顺序表中无元素值为所输入值的元素\n");
return false;
}
}
六、定义
typedef struct{
int data[MaxSize];//用静态的数组存放数据元素
int length;//顺序表的当前长度
}SqList;//顺序表的类型定义