1.线性表的基本操作及应用 ①创建 ②插入 ③删除 ④查找 ⑤应用C++代码
时间: 2024-01-01 21:06:17 浏览: 82
基于QT(C++)实现线性表的建立、插入、删除、查找等基本操作【100010710】
以下是基于数组实现的线性表的基本操作及应用的 C++ 代码示例:
```c++
#include <iostream>
#define MAXSIZE 100 // 线性表最大长度
using namespace std;
typedef struct {
int data[MAXSIZE]; // 数组存储元素,从下标 1 开始存储
int length; // 线性表当前长度
} SqList;
// 初始化线性表
void InitList(SqList &L) {
L.length = 0;
}
// 插入元素
bool InsertList(SqList &L, int i, int x) {
if (i < 1 || i > L.length + 1 || L.length >= MAXSIZE) {
return false;
}
for (int j = L.length; j >= i; j--) {
L.data[j + 1] = L.data[j];
}
L.data[i] = x;
L.length++;
return true;
}
// 删除元素
bool DeleteList(SqList &L, int i) {
if (i < 1 || i > L.length) {
return false;
}
for (int j = i; j < L.length; j++) {
L.data[j] = L.data[j + 1];
}
L.length--;
return true;
}
// 查找元素
int SearchList(SqList L, int x) {
for (int i = 1; i <= L.length; i++) {
if (L.data[i] == x) {
return i;
}
}
return -1;
}
// 输出线性表
void PrintList(SqList L) {
for (int i = 1; i <= L.length; i++) {
cout << L.data[i] << " ";
}
cout << endl;
}
int main() {
SqList L;
InitList(L);
InsertList(L, 1, 1);
InsertList(L, 2, 2);
InsertList(L, 3, 3);
PrintList(L);
DeleteList(L, 2);
PrintList(L);
int pos = SearchList(L, 3);
cout << "3 is at position " << pos << endl;
return 0;
}
```
以上代码实现了线性表的创建、插入、删除、查找等基本操作,并提供了一个输出线性表的函数。在 main 函数中,首先创建了线性表 L,然后插入了三个元素,输出线性表,接着删除了第二个元素,再次输出线性表,最后查找元素 3 在线性表中的位置,并输出结果。
阅读全文