1.插入元素 2.删除元素 3.获取第i个结点的数据元素 4.判断元素是否存在5.获取某个元素的下一个元素;NextElem(L, cur_e, &next_e);
时间: 2023-05-29 12:03:56 浏览: 97
1. 插入元素:向线性表的指定位置插入一个元素
示例代码:
```
void insertElem(List& L, int pos, ElemType e){
// 如果pos不在合法范围内,返回错误
if(pos<1 || pos>L.length+1) return ERROR;
// 如果线性表已满,返回错误
if(L.length == MAXSIZE) return ERROR;
// 将pos位置之后的元素后移一位
for(int i=L.length; i>=pos; i--){
L.data[i] = L.data[i-1];
}
// 插入新元素
L.data[pos-1] = e;
L.length++;
return OK;
}
```
2. 删除元素:从线性表中删除一个指定位置的元素
示例代码:
```
void deleteElem(List& L, int pos){
// 如果pos不在合法范围内,返回错误
if(pos<1 || pos>L.length) return ERROR;
// 将pos位置之后的元素前移一位
for(int i=pos; i<L.length; i++){
L.data[i-1] = L.data[i];
}
L.length--;
return OK;
}
```
3. 获取第i个结点的数据元素:返回线性表中第i个位置的元素
示例代码:
```
ElemType getElem(List L, int i){
// 如果i不在合法范围内,返回错误
if(i<1 || i>L.length) return ERROR;
return L.data[i-1];
}
```
4. 判断元素是否存在:在线性表中查找一个元素,返回其在表中的位置
示例代码:
```
int locateElem(List L, ElemType e){
for(int i=0; i<L.length; i++){
if(L.data[i] == e) return i+1;
}
return 0;
}
```
5. 获取某个元素的下一个元素:返回线性表中指定元素的下一个元素
示例代码:
```
ElemType nextElem(List L, ElemType e){
int pos = locateElem(L, e);
if(pos == 0 || pos == L.length) return ERROR;
return L.data[pos];
}
```
阅读全文