1、从键盘输入10个整数,产生顺序表,并输出结点值;2、从键盘输入1个整数,在顺序表中查找该结点。若找到,输出结点的位置;若找不到,则显示“找不到”;3、从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插入在对应位置上,输出顺序表所有结点值,观察输出结果;4、从键盘输入1个整数,表示欲删除结点的位置,输出顺序表所有结点值,观察输出结果。环境为C++。
时间: 2024-01-06 18:04:47 浏览: 271
好的,以下是在C++环境下实现顺序表基本操作的示例代码:
```c++
#include<iostream>
using namespace std;
#define MAXSIZE 100
//定义顺序表结构体
struct SeqList
{
int data[MAXSIZE];
int length;
};
// 从键盘输入10个整数,产生顺序表,并输出结点值
void create_list(SeqList &L)
{
cout << "请输入10个整数:" << endl;
for(int i=0; i<10; i++)
{
cin >> L.data[i];
}
L.length = 10;
}
// 从键盘输入1个整数,在顺序表中查找该结点
void search_elem(SeqList L)
{
int target, index=-1;
cout << "请输入要查找的整数:";
cin >> target;
for(int i=0; i<L.length; i++)
{
if(L.data[i] == target)
{
index = i;
break;
}
}
if(index != -1)
{
cout << "该整数在顺序表中的位置为:" << index+1 << endl;
}
else
{
cout << "找不到该整数" << endl;
}
}
// 从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x
void insert_elem(SeqList &L)
{
int i, x;
cout << "请输入要插入的位置:";
cin >> i;
cout << "请输入要插入的数值:";
cin >> x;
// 判断插入位置是否合法
if(i<1 || i>L.length+1)
{
cout << "插入位置不合法" << endl;
return;
}
// 从最后一个元素开始逐个向后移动元素,为新元素腾出位置
for(int j=L.length-1; j>=i-1; j--)
{
L.data[j+1] = L.data[j];
}
L.data[i-1] = x;
L.length++;
// 输出顺序表所有结点值
cout << "插入后的顺序表结点值为:";
for(int j=0; j<L.length; j++)
{
cout << L.data[j] << " ";
}
cout << endl;
}
// 从键盘输入1个整数,表示欲删除结点的位置
void delete_elem(SeqList &L)
{
int i;
cout << "请输入要删除的位置:";
cin >> i;
// 判断删除位置是否合法
if(i<1 || i>L.length)
{
cout << "删除位置不合法" << endl;
return;
}
// 从删除位置开始逐个向前移动元素,覆盖被删除的元素
for(int j=i; j<L.length; j++)
{
L.data[j-1] = L.data[j];
}
L.length--;
// 输出顺序表所有结点值
cout << "删除后的顺序表结点值为:";
for(int j=0; j<L.length; j++)
{
cout << L.data[j] << " ";
}
cout << endl;
}
int main()
{
SeqList L;
create_list(L);
cout << "顺序表结点值为:";
for(int i=0; i<L.length; i++)
{
cout << L.data[i] << " ";
}
cout << endl;
search_elem(L);
insert_elem(L);
delete_elem(L);
return 0;
}
```
希望这个代码能够对你有所帮助!
阅读全文