C++顺序表插入删除全部代码
时间: 2023-12-27 08:21:50 浏览: 31
以下是C++实现顺序表的插入、删除、查找、输出操作的全部代码:
```
#include <iostream>
using namespace std;
#define MAXSIZE 15
typedef int DataType;
typedef struct {
DataType data[MAXSIZE];
int length;
} SeqList;
// 初始化顺序表
void InitList(SeqList &L) {
L.length = 0;
}
// 插入元素
bool ListInsert(SeqList &L, int i, DataType e) {
if (i < 1 || i > L.length + 1 || 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;
}
// 删除元素
bool ListDelete(SeqList &L, int i) {
if (i < 1 || i > L.length) {
return false;
}
for (int j = i; j < L.length; j++) {
L.data[j - 1] = L.data[j];
}
L.length--;
return true;
}
// 查找元素
int LocateElem(SeqList L, DataType e) {
for (int i = 0; i < L.length; i++) {
if (L.data[i] == e) {
return i + 1;
}
}
return 0;
}
// 输出顺序表
void PrintList(SeqList L) {
for (int i = 0; i < L.length; i++) {
cout << L.data[i] << " ";
}
cout << endl;
}
int main() {
SeqList L;
InitList(L);
ListInsert(L, 1, 1);
ListInsert(L, 2, 2);
ListInsert(L, 3, 3);
ListInsert(L, 4, 4);
ListInsert(L, 5, 5);
PrintList(L);
ListDelete(L, 3);
PrintList(L);
cout << LocateElem(L, 4) << endl;
return 0;
}
```