博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BNUOJ 4101(线性表的插入与删除)
阅读量:4321 次
发布时间:2019-06-06

本文共 1353 字,大约阅读时间需要 4 分钟。

线性表插入与删除操作

Time Limit: 1000 ms     Case Time Limit: 1000 ms     Memory Limit: 65536 KB
Submit: 78     Accepted: 40

Description

 

 实现线性表的插入和删除基本操作

 

Input

 

 第一行给出线性表内现有数据元素的数目N,1<=N<=10;第二行给出N个整数:a1、a2、a3…aN,整数之间用一个空格隔开,表示线性表现有的数据元素。第三行给出两个整数K、E1,1<=K<=N,表示在第K个元素前插入值为E1的数据元素;第四行给出一个整数E2,表示在线性表中删除第一个值为E2的数据元素(假定线性表里一定存在值为E2的数据元素)。

 

Output

 

 在一行内按次序输出进行插入和删除后线性表的所有数据元素,数据元素之间用一个空格隔开。

 

Sample Input

812 13 21 24 28 30 42 775 2524

Sample Output

12 13 21 25 28 30 42 77
#include
#include
#include
const int N=15;/*C语言中常量都用const定义 #define定义的只是宏,在预处理的时候就都被替换掉了 const定义的应该是其值不可以被改变的变量,就是常量了, 它在运行的时候是确实在内存里(栈,堆,或是静态区)分配了内存的, 是有自己的地址的,可以做求地址运算。 */int vis[N];int T;void insert(int pos,int num){ int i,j; for(i=T;i>=pos;i--) vis[i+1]=vis[i]; vis[pos]=num; T++;}void delete_output(int num)//delete为关键字{ int i,j; for(i=1;i<=T;i++) if(vis[i]==num) break; for(i;i<=T;i++) vis[i]=vis[i+1]; T--; printf("%d",vis[1]); for(i=2;i<=T;i++) printf(" %d",vis[i]); printf("\n");} int main(){ int i,j; int pos,num1,num2; scanf("%d",&T); for(i=1;i<=T;i++) scanf("%d",vis+i); scanf("%d%d",&pos,&num1); insert(pos,num1); scanf("%d",&num2); delete_output(num2); return 0;}

 

转载于:https://www.cnblogs.com/hxsyl/archive/2012/07/30/2615889.html

你可能感兴趣的文章
初识react
查看>>
jzoj5843
查看>>
学习swift开源项目
查看>>
[BZOJ 1293] 生日礼物
查看>>
Hadoop以及组件介绍
查看>>
1020 Tree Traversals (25)(25 point(s))
查看>>
第一次作业
查看>>
“==”运算符与equals()
查看>>
sqlite3
查看>>
软件工程:黄金G点小游戏1.0
查看>>
如何使用Powershell脚本监控Exchange2010(一) 数据库Mount状态的监控
查看>>
leetcode 144. Binary Tree Preorder Traversal
查看>>
理解 LINUX 的处理器负载均值(翻译)
查看>>
Struts2 流程原理
查看>>
Exp5 msf实践
查看>>
ElasticSearch简要总览
查看>>
浏览器的工作原理
查看>>
2.4.6 计算机语言表示算法
查看>>
Android SDK简介-读书笔记(一)
查看>>
android 构建数据库SQLite
查看>>