Advertisement
bartekltg

kolejka vs zbiór

Feb 8th, 2013
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.15 KB | None | 0 0
  1.  
  2. #include <cstdlib>
  3. #include <cstdio>
  4. #include <vector>
  5. #include <set>
  6. #include <queue>
  7. #include <ctime>
  8.  
  9. using namespace std;
  10.  
  11.  
  12. int main()
  13. {
  14.     int n;
  15.     vector<int> wektor,w1,w2;
  16.     set<int> zbior;
  17.     priority_queue<int> kolejka;
  18.  
  19.     clock_t s,p,e;
  20.  
  21.     scanf("%d",&n);
  22.    
  23.     wektor.resize(n);
  24.     w1.reserve(n);
  25.     w2.reserve(n);
  26.  
  27.     for (int j=0;j<n;j++) wektor[j]=j;
  28.     random_shuffle ( wektor.begin(), wektor.end() );
  29.  
  30.    
  31.     s = clock();
  32.     for (int j=0;j<n;j++)
  33.         zbior.insert(wektor[j]);
  34.     p=clock();
  35.    
  36.     for (auto it = zbior.rbegin(); it!=zbior.rend();++it )
  37.         w1.push_back(*it);
  38.     e=clock();
  39.  
  40.     printf("\nzbior %f %f\n",((float)(p-s))/CLOCKS_PER_SEC,((float)(e-s))/CLOCKS_PER_SEC);
  41.  
  42.     s = clock();
  43.     for (int j=0;j<n;j++)
  44.         kolejka.push(wektor[j]);
  45.     p=clock();
  46.    
  47.     while(!kolejka.empty())
  48.     {
  49.         w2.push_back(kolejka.top());
  50.         kolejka.pop();
  51.     }
  52.  
  53.     e=clock();
  54.  
  55.     printf("kolejka %f %f\n",((float)(p-s))/CLOCKS_PER_SEC,((float)(e-s))/CLOCKS_PER_SEC);
  56.  
  57.     bool rowne=true;
  58.     for (int j=0;j<n;j++)
  59.     {
  60.         rowne = (rowne && ( w1[j]==w2[j] ));
  61.     //  printf("%d  %d %d\n",wektor[j],w1[j],w2[j]);
  62.     }
  63.  
  64.     printf("%s\n",rowne?"OK":"NIEROWNE");
  65.  
  66.     return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement