数组的增删改查
程序员文章站
2024-02-21 09:58:46
...
描述
“增删改查”是数据库的几种基本操作,现在我们用数组DataBase[]来模拟一个数据库,来实现这几种功能。
-
增:+ p v(将数据v插入到DataBase[p]位置上,保证p不会超过数据库末尾元素位置)
-
删:- p (将DataBase[p]位置的元素删除,保证p不会超过数据库末尾元素位置)
-
改:* p v(将DataBase[p]位置的数据修改为v,保证p不会超过数据库末尾元素位置)
-
查:? v (查找DataBase中是否有值为v的元素,若查找成功输出其首次出现时的下标,否则输出“Failed”)
输入
第1行1个整数N(N<=1000),表示共有N次操作 第2~N+1行,每行1次操作
输出
对于每一次查找操作,给出结果;如果查找失败,输出“Failed”; 每个结果独自占一行
样例输入
6
+ 0 1
+ 0 2
? 2
* 1 3
- 1
? 1
样例输出
0
Failed
提示
- 数组DataBase[]中的数据都为int
- 数组DataBase[]初始为空
分情况讨论,增加和删除的时候是把一项插入和把一项删掉需要注意。
样例代码:
#include<iostream>
#include<cstdio>
using namespace std;
int DataBase[10000];
int main(){
int n,p,v;
char s;
cin>>n;
for(int i = 0;i < n ; i++){
cin>>s;
if(s == '+'){
cin>>p>>v;
DataBase[p + 1] = DataBase[p];
DataBase[p] = v;
}
if(s == '-'){
cin>>p;
DataBase[p] = DataBase[p + 1];
}
if(s == '*'){
cin>>p>>v;
DataBase[p] = v;
}
if(s == '?'){
cin>>v;
int count = 0;
for(int i = 0;i < 10000;i++){
if(DataBase[i] == v){
cout<<i<<endl;
break;
}else{
count++;
}
}
if(count == 10000) cout<<"Failed"<<endl;
}
}
return 0;
}
上一篇: vim 的配置文件
下一篇: Swift 3.0 常量变量的定义