描述
线性表是n个元素的有序集合(n³0),n是线性表中元素的个数,称为线性表的长度。可以用一组地址连续的存储单元依次存储线性表中元素,采用这种存储方式的线性表称为顺序表。
请在顺序表上实现运算,实现顺序表的逆置,删除表中所有元素值等于x的元素。
输入
三组数据,顺序表元素类型分别为整型、字符型和实型。
每一组第一行给出元素数目n(0<n≤1000),第二行给出元素数值,第三行给出待删除的元素。
输出
三组数据,每一组第一行为逆置后的顺序表元素,第二行是在此基础上删除指定元素后的顺序表元素
样例输入
8
1 2 3 7 5 6 7 8
7
3
a c m
h
4
1.2 3.4 5.6 7.8
1.2
样例输出
8 7 6 5 7 3 2 1
8 6 5 3 2 1
m c a
m c a
7.8 5.6 3.4 1.2
7.8 5.6 3.4
#include <iostream> using namespace std; const int N=1001; int main(int argc, char *argv[]) { int a[N],a1; char b[N],b1; float c[N],c1; int n1,n2,n3; int i,j,k; //1 cin>>n1; for(i=0;i<n1;i++) cin>>a[i]; for(i=0;i<n1/2;i++) { int t1; t1=a[i]; a[i]=a[n1-i-1]; a[n1-i-1]=t1; } for(i=0;i<n1;i++) cout<<a[i]<<" "; cout<<endl; cin>>a1; for(i=0;i<n1;i++) { if(a[i]!=a1) cout<<a[i]<<" "; } cout<<endl; //2 cin>>n2; for(j=0;j<n2;j++) cin>>b[j]; for(i=0;i<n2/2;i++) { char t2; t2=b[i]; b[i]=b[n2-i-1]; b[n2-i-1]=t2; } for(i=0;i<n2;i++) cout<<b[i]<<" "; cout<<endl; cin>>b1; for(i=0;i<n2;i++) { if(b[i]!=b1) cout<<b[i]<<" "; } cout<<endl; //3 cin>>n3; for(k=0;k<n3;k++) cin>>c[k]; for(i=0;i<n3/2;i++) { float t3; t3=c[i]; c[i]=c[n3-i-1]; c[n3-i-1]=t3; } for(i=0;i<n3;i++) cout<<c[i]<<" "; cout<<endl; cin>>c1; for(i=0;i<n3;i++) { if(c[i]!=c1) cout<<c[i]<<" "; } cout<<endl; return 0; }