以“工具设计者”角色,给出“顺序线性表”的创建 Create、显示 Display、插入 Insert、删除 Delete的程序代码
时间: 2023-06-12 14:06:01 浏览: 67
这里给出C++语言的程序代码示例:
```cpp
#include<iostream>
using namespace std;
const int MAXSIZE = 100; // 最大长度
// 定义顺序线性表结构体
struct SeqList {
int data[MAXSIZE]; // 存储数据
int length; // 存储当前长度
};
// 创建顺序线性表
void Create(SeqList& L) {
cout << "请输入顺序线性表的长度:";
cin >> L.length;
cout << "请输入顺序线性表的元素:";
for(int i = 0; i < L.length; i++) {
cin >> L.data[i];
}
}
// 显示顺序线性表
void Display(SeqList L) {
cout << "当前顺序线性表的元素为:";
for(int i = 0; i < L.length; i++) {
cout << L.data[i] << " ";
}
cout << endl;
}
// 插入元素
bool Insert(SeqList& L, int pos, int val) {
if(pos < 1 || pos > L.length + 1) { // 判断插入位置是否合法
return false;
}
if(L.length >= MAXSIZE) { // 判断顺序线性表是否已满
return false;
}
for(int i = L.length; i >= pos; i--) { // 从后往前依次将元素后移一位
L.data[i] = L.data[i - 1];
}
L.data[pos - 1] = val; // 将新元素插入到指定位置
L.length++; // 长度加一
return true;
}
// 删除元素
bool Delete(SeqList& L, int pos) {
if(pos < 1 || pos > L.length) { // 判断删除位置是否合法
return false;
}
for(int i = pos; i < L.length; i++) { // 从前往后依次将元素前移一位
L.data[i - 1] = L.data[i];
}
L.length--; // 长度减一
return true;
}
int main() {
SeqList L;
Create(L);
Display(L);
Insert(L, 3, 100); // 在第3个位置插入元素100
Display(L);
Delete(L, 5); // 删除第5个元素
Display(L);
return 0;
}
```
阅读全文