Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #28613
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Newsgroups | pl.comp.programming |
| Subject | Matching - rozszerzone porównanie dwóch posortowanych list |
| Date | 2016-05-20 15:46 +0200 |
| Organization | ATMAN - ATM S.A. |
| Message-ID | <nhn4f9$d67$1@node2.news.atman.pl> (permalink) |
Mam fazę przygotowania:
vector<int> vecA;
vector<int> vecB;
srand(1000);
for (int i = 0; i < 16; i++) vecA.push_back(rand() % 20);
for (int i = 0; i < 12; i++) vecB.push_back(rand() % 20);
sort(vecA.begin(), vecA.end());
sort(vecB.begin(), vecB.end());
Algorytm:
int i1 = 0, i2 = 0;
while (i1 < vecA.size() && i2 < vecB.size())
{
if (vecA[i1] < vecB[i2])
{
printf("w pierwszym %d\n", vecA[i1]);
i1++;
}
else if (vecA[i1] > vecB[i2])
{
printf("w drugim %d\n", vecB[i2]);
i2++;
}
else
{
printf("w obu %d\n", vecA[i1]);
i1++;
i2++;
}
}
printf("dokończenie A\n");
while (i1 < vecA.size())
{
printf("w pierwszym %d\n", vecA[i1]);
i1++;
}
printf("dokończenie B\n");
while (i2 < vecB.size())
{
printf("w drugim %d\n", vecB[i2]);
i1++;
}
Dobre do porównywania czy w obu katalogach te same pliki na przykład,
ale: gdy mamy: 0 0 1 2 4 4 7 oraz 1 4 5 5 6 8
to wtedy wypisze:
w pierwszym 2
w obu 4
w pierwszym 4
w drugim 5
pierwszą czwórkę kwalifikując do "w obu", drugą do "w pierwszym", a mi
tym razem chodzi o to by wypisywać tylko w obu, wszystkie powtarzające
się elementy, czyli ma wypisać:
w obu 4
w obu 4
Jak należy zmodyfikować algorytm?
Back to pl.comp.programming | Previous | Next — Next in thread | Find similar | Unroll thread
Matching - rozszerzone porównanie dwóch posortowanych list Borneq <borneq@antyspam.hidden.pl> - 2016-05-20 15:46 +0200
Re: Matching - rozszerzone porównanie dwóch posortowanych list Borneq <borneq@antyspam.hidden.pl> - 2016-05-20 17:13 +0200
Re: Matching - rozszerzone porównanie dwóch posortowanych list "M.M." <mmarszik@gmail.com> - 2016-05-20 08:20 -0700
Re: Matching - rozszerzone porównanie dwóch posortowanych list Borneq <borneq@antyspam.hidden.pl> - 2016-05-20 17:55 +0200
Re: Matching - rozszerzone porównanie dwóch posortowanych list Borneq <borneq@antyspam.hidden.pl> - 2016-05-20 19:14 +0200
Re: Matching - rozszerzone porównanie dwóch posortowanych list "M.M." <mmarszik@gmail.com> - 2016-05-20 13:18 -0700
csiph-web