数据结构实验:顺序表操作
时间: 2024-04-16 09:05:05 浏览: 15
好的,顺序表是一种线性结构,可以用数组实现。以下是顺序表的一些基本操作:
1. 初始化顺序表
```
void InitList(SqList &L)
{
L.length = 0;
}
```
2. 插入元素
```
bool ListInsert(SqList &L, int i, ElemType e)
{
if(i < 1 || i > L.length + 1)
return false;
if(L.length >= MAXSIZE)
return false;
for(int j = L.length; j >= i; j--)
L.data[j] = L.data[j - 1];
L.data[i - 1] = e;
L.length++;
return true;
}
```
3. 删除元素
```
bool ListDelete(SqList &L, int i, ElemType &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;
}
```
4. 查找元素
```
int LocateElem(SqList L, ElemType e)
{
for(int i = 0; i < L.length; i++)
if(L.data[i] == e)
return i + 1;
return 0;
}
```
5. 获取元素
```
bool GetElem(SqList L, int i, ElemType &e)
{
if(i < 1 || i > L.length)
return false;
e = L.data[i - 1];
return true;
}
```
6. 获取长度
```
int GetLength(SqList L)
{
return L.length;
}
```
注意:在实现顺序表操作时,需要注意边界问题,如数组越界等。