线性表操作
来源:互联网 发布:everything软件ftp 编辑:程序博客网 时间:2024/05/17 05:03
线性表操作http://acm.njupt.edu.cn/acmhome/problemdetail.do?method=showdetail&id=1004
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
总提交:2881 测试通过:605
总提交:2881 测试通过:605
描述
线性表是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
代码(未提交):
//http://acm.njupt.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1004#include<stdio.h>#include<malloc.h>#include<math.h>int main(){int n,m,r,x,y,i;scanf("%d",&n);int *p;p=(int *)malloc(n*sizeof(int));for(i=0;i<n;++i)scanf("%d",&p[i]);scanf("%d",&x);scanf("%d",&m);getchar();char *u; u=(char *)malloc(m*sizeof(char));for(i=0;i<m;++i)scanf("%c ",&u[i]);scanf("%c ",&y);scanf("%d",&r);double*v; v=(double*)malloc(r*sizeof(double));for(i=0;i<r;++i)scanf("%lf",&v[i]);double z;scanf("%lf",&z);for(i=n-1;i>=0;--i)printf("%d ",p[i]);printf("\n");for(i=n-1;i>=0;--i){if(p[i]!=x)printf("%d ",p[i]);}free(p);printf("\n");for(i=m-1;i>=0;--i)printf("%c ",u[i]);printf("\n");for(i=m-1;i>=0;--i){if(u[i]!=y)printf("%c ",u[i]);}free(u);printf("\n");for(i=r-1;i>=0;--i)printf("%.1lf ",v[i]);printf("\n");for(i=r-1;i>=0;--i){if(fabs(v[i]-z)>1e-7)printf("%.1lf ",v[i]); }free(v);printf("\n");//while(1);return 0;}
0 0
- 线性表操作
- 线性表操作
- 数据结构--线性表操作
- 线性表的操作
- C++线性表操作
- 线性表操作
- C++线性表操作
- 线性表操作
- ACM 线性表操作
- 线性表操作练习
- 线性表基本操作
- 线性表的操作
- 线性表操作
- 线性表简单操作
- 线性表操作
- NOJ1004线性表操作
- 线性表操作
- 1004-线性表操作
- 黑马程序员-反射
- unbuntu下wxWidgets的安装以及第一个程序的编译运行
- 网络处理1-异步GET请求
- POJ 1856 Sea Battle(dfs)
- FragmentManager API
- 线性表操作
- 设置浏览器的UserAgent
- hdu 3501 Calculation 2
- Hadoop 权限管理
- Flash Builder 4字体设置
- 彻底弄懂二维树状数组
- BroadcastReceiver组件的基础认识
- jar文件略解
- C语言基本数据类型