生成c++代码(建立一个顺序表,随机产生10个100以内的整数,并在屏幕上显示顺序表中的10个整数,再把值为x的元素插入到值为a的元素后面,若不存在a,则把x插入到表尾,显示更新后的顺序表,然后删除顺序表中某一个位序为i的数据元素,并用参数e记录被删除数据元素的值。)
时间: 2023-06-08 14:09:07 浏览: 83
好的,我已经理解了您的要求。以下是生成c++代码的结果:
```c++
#include<iostream>
#include<cstdlib>
using namespace std;
const int Maxsize=10;
const int Maxnum=100;
typedef struct sqList{
int data[Maxsize];
int length;
}SqList;
void initList(SqList &L){
L.length=0;
}
void printList(SqList L){
for(int i=0;i<L.length;i++){
cout<<L.data[i]<<" ";
}
cout<<endl;
}
void insertList(SqList &L,int a,int x){
if(L.length>=Maxsize){
cout<<"The list is full"<<endl;
return;
}
if(a>=Maxnum){
cout<<"The value is out of range"<<endl;
return;
}
int i=0,j=0;
while(i<L.length&&L.data[i]!=a){
i++;
}
if(i==L.length){
L.data[L.length]=x;
L.length++;
}else{
for(j=L.length;j>i;j--){
L.data[j]=L.data[j-1];
}
L.data[i+1]=x;
L.length++;
}
}
void delList(SqList &L,int i,int &e){
if(i<0||i>=L.length){
cout<<"The position is out of range"<<endl;
return;
}
e=L.data[i];
for(int j=i;j<L.length-1;j++){
L.data[j]=L.data[j+1];
}
L.length--;
}
int main(){
SqList L;
initList(L);
srand(time(NULL));
for(int i=0;i<Maxsize;i++){
L.data[i]=rand()%Maxnum;
L.length++;
}
printList(L);
int a=rand()%Maxnum;
int x=rand()%Maxnum;
cout<<"Insert "<<x<<" after "<<a<<endl;
insertList(L,a,x);
printList(L);
int i=rand()%L.length;
int e=0;
delList(L,i,e);
cout<<"Delete "<<e<<" in position "<<i<<endl;
printList(L);
return 0;
}
```
希望能够满足您的需求。如果您有其他问题,请继续提问。
阅读全文