c语言顺序表完成插入,删除,查找
时间: 2023-12-27 20:23:08 浏览: 92
顺序表实现插入,查找,删除等功能
顺序表是一种线性表,可以用数组来实现。下面是C语言中顺序表的插入、删除和查找实现方法:
1. 插入操作:
```
// 在顺序表中的第i个位置插入元素e
bool insert(SeqList *L, int i, ElemType e) {
if (i < 1 || i > L->length + 1) { // i的范围不合法
return false;
}
if (L->length >= MAXSIZE) { // 顺序表已满
return false;
}
for (int j = L->length; j >= i; j--) { // 将第i个位置以及之后的元素后移
L->data[j] = L->data[j - 1];
}
L->data[i - 1] = e; // 插入元素e
L->length++; // 长度加1
return true;
}
```
2. 删除操作:
```
// 删除顺序表中的第i个元素,并将其值返回到e中
bool delete(SeqList *L, int i, ElemType *e) {
if (i < 1 || i > L->length) { // i的范围不合法
return false;
}
*e = L->data[i - 1]; // 将删除的元素的值保存到e中
for (int j = i; j < L->length; j++) { // 将第i个位置以及之后的元素前移
L->data[j - 1] = L->data[j];
}
L->length--; // 长度减1
return true;
}
```
3. 查找操作:
```
// 在顺序表中查找值为e的元素,返回其在表中的位置
int search(SeqList L, ElemType e) {
for (int i = 0; i < L.length; i++) {
if (L.data[i] == e) {
return i + 1; // 返回元素的位置
}
}
return 0; // 没有找到,返回0
}
```
其中,`SeqList`是顺序表的结构体类型,包含一个数组`data`和一个整型变量`length`,分别表示顺序表的元素和长度。`MAXSIZE`是数组的最大长度。`ElemType`是顺序表的元素类型,可以根据需要进行定义。
阅读全文