在C++中,利用线性表的顺序存储结构,建立一个长度为20个元素的线性表,存储整型数据(1,3,5,7,9,11)实现线性表的初始化、线性表的输入、输出,线性表的查找、插入和删除等操作。
时间: 2024-12-01 20:20:23 浏览: 21
在C++中,使用顺序存储结构(如数组)创建一个长度为20的整型线性表,首先需要定义一个动态大小的数组来保存元素。以下是基本步骤:
1. **线性表的初始化**:
```cpp
int linearList[20]; // 定义一个大小为20的整型数组
// 初始化为给定的数据 (1, 3, 5, 7, 9, 11)
for(int i = 0; i < 6; ++i) {
linearList[i] = i * 2 + 1;
}
```
2. **线性表的输入**:
由于线性表已经预先填充了数据,所以一般不需要专门的输入操作。如果需要从用户那里获取数据,可以使用`cin`。
3. **线性表的输出**:
```cpp
void printList() {
for(int i = 0; i < 20; ++i) {
if(i < 6) { // 只打印前6个元素,防止越界
cout << linearList[i] << " ";
}
else {
break;
}
}
cout << endl;
}
// 调用printList()函数显示数据
printList();
```
4. **线性表的查找**:
```cpp
int searchElement(int target) {
for(int i = 0; i < 20; ++i) {
if(linearList[i] == target) {
return i; // 找到目标元素的位置并返回
}
}
return -1; // 没找到目标元素,返回-1表示不存在
}
// 查找特定值的索引,例如查找数字7
int index = searchElement(7);
if(index != -1) {
cout << "找到了,位置:" << index << endl;
} else {
cout << "没找到" << endl;
}
```
5. **线性表的插入**:
```cpp
void insertAt(int position, int value) {
if(position >= 0 && position <= 19) {
for(int i = 19; i > position; --i) {
linearList[i] = linearList[i - 1];
}
linearList[position] = value;
} else {
cout << "插入位置无效" << endl;
}
}
// 插入数字13到索引2的位置
insertAt(2, 13);
```
6. **线性表的删除**:
```cpp
void deleteAt(int position) {
if(position >= 0 && position < 19) {
for(int i = position; i < 19; ++i) {
linearList[i] = linearList[i + 1];
}
} else {
cout << "删除位置无效" << endl;
}
}
// 删除索引为2的元素
deleteAt(2);
```
注意:上述代码示例仅用于演示目的,实际应用中可能需要考虑边界检查和内存管理等问题。同时,在实际编程时,通常会使用更高级的数据结构如`std::vector`,而不是手动维护数组大小。
阅读全文