Skip to content

Commit 4ba7b7c

Browse files
committed
20190330
1 parent 7d62229 commit 4ba7b7c

File tree

1 file changed

+28
-15
lines changed

1 file changed

+28
-15
lines changed

机器翻译(简单模拟).cpp

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,16 @@
33
using namespace std;
44
const int maxn = 1005;
55
int a[maxn];
6+
7+
// void debug(vector<int> mem)
8+
// {
9+
// vector<int>::iterator i = mem.begin();
10+
// for(i = mem.begin(); i != mem.end(); i++)
11+
// {
12+
// cout << *i << endl;
13+
// }
14+
// cout << "size:" << mem.size() << endl;
15+
// }
616
int main()
717
{
818
vector<int> mem;
@@ -13,35 +23,38 @@ int main()
1323
{
1424
cin >> a[i];
1525
}
26+
1627
for (int j = 0; j < n; j++)
1728
{
29+
// 内存中是否已存在该值
1830
bool flag = false;
19-
vector<int>::iterator k = mem.begin();
20-
for (k = mem.begin(); k != mem.end(); k++)
31+
// 先查一遍有没有a[j]
32+
if (mem.size() != 0)
2133
{
22-
if (*k == a[j])
34+
vector<int>::iterator k = mem.begin();
35+
for (k = mem.begin(); k != mem.end(); k++)
2336
{
24-
flag = true;
25-
break;
37+
if (*k == a[j])
38+
{
39+
flag = true;
40+
break;
41+
}
2642
}
2743
}
28-
29-
if (mem.size() < 3 || flag == false)
44+
// 当储存个数小于三个并且a[j]未存入时直接压入
45+
if (mem.size() < m && flag == false)
3046
{
31-
3247
mem.push_back(a[j]);
3348
cnt++;
34-
cout << "*l:" << mem[0] << endl;
35-
cout << "size:" << mem.size() << endl;
49+
// debug(mem);
3650
}
37-
38-
vector<int>::iterator l = mem.begin();
39-
if (flag == false)
51+
// 储存个数大于三个时如果a[j]未存入
52+
else if (flag == false)
4053
{
54+
vector<int>::iterator l = mem.begin();
4155
mem.erase(l);
4256
mem.push_back(a[j]);
43-
cout << "*l:" << *l << endl;
44-
cout << "size:" << mem.size() << endl;
57+
// debug(mem);
4558
cnt++;
4659
}
4760
}

0 commit comments

Comments
 (0)