1004-线性表操作
描述
线性表是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;
}

浙公网安备 33010602011771号