数据结构线性表的创建,输入,查找,删除main函数
时间: 2023-09-20 20:00:37 浏览: 153
数据结构-线性表输入-输出-插入-删除-查找.doc
线性表是一种常用的数据结构,用于存储和操作线性数据序列。下面是一个使用C++语言实现线性表的主函数,包括创建、输入、查找和删除操作。
```cpp
#include <iostream>
using namespace std;
// 定义线性表结构体
struct List {
int *data; // 数据指针
int length; // 线性表当前长度
int size; // 线性表总容量
};
// 创建线性表
void createList(List &list, int size) {
list.data = new int[size]; // 动态申请内存
list.length = 0; // 初始长度为0
list.size = size; // 设置线性表容量
}
// 输入线性表元素
void inputList(List &list) {
cout << "请输入线性表元素个数:" << endl;
cin >> list.length;
cout << "请输入线性表元素:" << endl;
for (int i = 0; i < list.length; i++) {
cin >> list.data[i];
}
}
// 查找元素在线性表中的位置
int findElement(List list, int element) {
for (int i = 0; i < list.length; i++) {
if (list.data[i] == element) {
return i;
}
}
return -1; // 没找到返回-1
}
// 删除线性表中指定位置的元素
void deleteElement(List &list, int position) {
if (position < 0 || position >= list.length) {
cout << "位置不合法!" << endl;
return;
}
for (int i = position; i < list.length-1; i++) {
list.data[i] = list.data[i+1];
}
list.length--;
cout << "删除成功!" << endl;
}
int main() {
List list;
int size;
cout << "请输入线性表的容量:" << endl;
cin >> size;
createList(list, size);
inputList(list);
int element, position;
cout << "请输入要查找的元素:" << endl;
cin >> element;
position = findElement(list, element);
if (position == -1) {
cout << "未找到该元素!" << endl;
} else {
cout << "元素" << element << "在线性表中的位置为:" << position+1 << endl;
}
cout << "请输入要删除的元素位置:" << endl;
cin >> position;
deleteElement(list, position-1);
return 0;
}
```
以上代码实现了线性表的创建、输入、查找和删除操作。在主函数中首先要求输入线性表的容量,然后创建线性表并输入元素。接着提示输入要查找的元素,调用findElement函数查找位置并输出结果。最后提示输入要删除的元素位置,调用deleteElement函数进行删除操作,并输出删除成功的提示信息。
阅读全文